| Package | Description |
|---|---|
| org.apache.calcite.adapter.elasticsearch |
Base classes for a query provider based on an Elasticsearch DB.
|
| org.apache.calcite.adapter.enumerable |
Query optimizer rules for Java calling convention.
|
| org.apache.calcite.adapter.jdbc |
Query provider based on a JDBC data source.
|
| org.apache.calcite.interpreter |
Provides an implementation of relational expressions using an interpreter.
|
| org.apache.calcite.jdbc |
JDBC driver for Calcite.
|
| org.apache.calcite.plan |
Defines interfaces for constructing rule-based optimizers of
relational expressions.
|
| org.apache.calcite.plan.hep |
Provides a heuristic planner implementation for the interfaces in
org.apache.calcite.plan. |
| org.apache.calcite.plan.volcano |
Optimizes relational expressions.
|
| org.apache.calcite.prepare |
Preparation of queries (parsing, planning and implementation).
|
| org.apache.calcite.rel.convert |
Defines relational expressions and rules for converting between calling
conventions.
|
| org.apache.calcite.rel.rules |
Provides a core set of planner rules.
|
| org.apache.calcite.rel.stream |
Defines relational expressions for streaming.
|
| org.apache.calcite.sql2rel |
Translates a SQL parse tree to relational expression.
|
| org.apache.calcite.tools |
Provides utility classes.
|
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
ElasticsearchRules.ElasticsearchConverterRule
Base class for planner rules that convert a relational expression to
Elasticsearch calling convention.
|
private static class |
ElasticsearchRules.ElasticsearchFilterRule
Rule to convert a
LogicalFilter to an
ElasticsearchFilter. |
private static class |
ElasticsearchRules.ElasticsearchProjectRule
Rule to convert a
LogicalProject
to an ElasticsearchProject. |
private static class |
ElasticsearchRules.ElasticsearchSortRule
Rule to convert a
Sort to an
ElasticsearchSort. |
class |
ElasticsearchToEnumerableConverterRule
Rule to convert a relational expression from
ElasticsearchRel.CONVENTION to EnumerableConvention. |
| Modifier and Type | Field and Description |
|---|---|
(package private) static RelOptRule[] |
ElasticsearchRules.RULES |
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
EnumerableAggregateRule
Rule to convert a
LogicalAggregate
to an EnumerableAggregate. |
static class |
EnumerableBindable.EnumerableToBindableConverterRule
Rule that converts any enumerable relational expression to bindable.
|
(package private) class |
EnumerableCalcRule
Rule to convert a
LogicalCalc to an
EnumerableCalc. |
(package private) class |
EnumerableCollectRule
Rule to convert an
Collect to an
EnumerableCollect. |
class |
EnumerableCorrelateRule
Implementation of nested loops over enumerable inputs.
|
(package private) class |
EnumerableFilterRule
Rule to convert a
LogicalFilter to an
EnumerableFilter. |
class |
EnumerableFilterToCalcRule
Variant of
FilterToCalcRule for
enumerable calling convention. |
class |
EnumerableInterpreterRule
|
(package private) class |
EnumerableIntersectRule
Rule to convert a
LogicalIntersect to an
EnumerableIntersect. |
(package private) class |
EnumerableJoinRule
Planner rule that converts a
LogicalJoin relational expression
enumerable calling convention. |
(package private) class |
EnumerableLimitRule
Rule to convert an
Sort that has
offset or fetch set to an
EnumerableLimit
on top of a "pure" Sort that has no offset or fetch. |
(package private) class |
EnumerableMergeJoinRule
Planner rule that converts a
LogicalJoin relational expression
enumerable calling convention. |
(package private) class |
EnumerableMinusRule
Rule to convert an
LogicalMinus to an
EnumerableMinus. |
(package private) class |
EnumerableProjectRule
Rule to convert a
LogicalProject to an
EnumerableProject. |
class |
EnumerableProjectToCalcRule
Variant of
ProjectToCalcRule for
enumerable calling convention. |
(package private) class |
EnumerableSemiJoinRule
Planner rule that converts a
SemiJoin relational expression
enumerable calling convention. |
(package private) class |
EnumerableSortRule
Rule to convert an
Sort to an
EnumerableSort. |
class |
EnumerableTableFunctionScanRule
Planner rule that converts a
LogicalTableFunctionScan
relational expression
enumerable calling convention. |
class |
EnumerableTableModifyRule
Planner rule that converts a
LogicalTableModify
relational expression
enumerable calling convention. |
class |
EnumerableTableScanRule
Planner rule that converts a
LogicalTableFunctionScan
relational expression
enumerable calling convention. |
(package private) class |
EnumerableUncollectRule
Rule to convert an
Uncollect to an
EnumerableUncollect. |
(package private) class |
EnumerableUnionRule
Rule to convert an
LogicalUnion to an
EnumerableUnion. |
class |
EnumerableValuesRule
Planner rule that converts a
LogicalValues
relational expression
enumerable calling convention. |
(package private) class |
EnumerableWindowRule
Rule to convert a
LogicalWindow to
an EnumerableWindow. |
| Modifier and Type | Field and Description |
|---|---|
static RelOptRule |
EnumerableRules.ENUMERABLE_CORRELATE_RULE |
static RelOptRule |
EnumerableRules.ENUMERABLE_JOIN_RULE |
static RelOptRule |
EnumerableRules.ENUMERABLE_MERGE_JOIN_RULE |
static RelOptRule |
EnumerableRules.ENUMERABLE_SEMI_JOIN_RULE |
| Modifier and Type | Class and Description |
|---|---|
static class |
JdbcRules.JdbcAggregateRule
Rule to convert a
Aggregate
to a JdbcRules.JdbcAggregate. |
private static class |
JdbcRules.JdbcCalcRule
Rule to convert a
Calc to an
JdbcRules.JdbcCalc. |
(package private) static class |
JdbcRules.JdbcConverterRule
Abstract base class for rule that converts to JDBC.
|
static class |
JdbcRules.JdbcFilterRule
Rule to convert a
Filter to
an JdbcRules.JdbcFilter. |
static class |
JdbcRules.JdbcIntersectRule
Rule to convert a
Intersect
to a JdbcRules.JdbcIntersect. |
static class |
JdbcRules.JdbcJoinRule
Rule that converts a join to JDBC.
|
static class |
JdbcRules.JdbcMinusRule
Rule to convert a
Minus to a
JdbcRules.JdbcMinus. |
static class |
JdbcRules.JdbcProjectRule
Rule to convert a
Project to
an JdbcRules.JdbcProject. |
static class |
JdbcRules.JdbcSortRule
Rule to convert a
Sort to an
JdbcRules.JdbcSort. |
static class |
JdbcRules.JdbcTableModificationRule
Rule that converts a table-modification to JDBC.
|
static class |
JdbcRules.JdbcUnionRule
Rule to convert an
Union to a
JdbcRules.JdbcUnion. |
static class |
JdbcRules.JdbcValuesRule
Rule that converts a values operator to JDBC.
|
class |
JdbcToEnumerableConverterRule
Rule to convert a relational expression from
JdbcConvention to
EnumerableConvention. |
| Modifier and Type | Method and Description |
|---|---|
static List<RelOptRule> |
JdbcRules.rules(JdbcConvention out) |
| Modifier and Type | Class and Description |
|---|---|
static class |
Bindables.BindableAggregateRule
Rule that converts an
Aggregate to bindable convention. |
static class |
Bindables.BindableFilterRule
Rule that converts a
Filter to bindable convention. |
static class |
Bindables.BindableJoinRule
Rule to convert a
LogicalJoin
to a Bindables.BindableJoin. |
static class |
Bindables.BindableProjectRule
Rule to convert a
LogicalProject
to a Bindables.BindableProject. |
static class |
Bindables.BindableSortRule
Rule to convert an
Sort to a
Bindables.BindableSort. |
static class |
Bindables.BindableTableScanRule
Rule that converts a
TableScan
to bindable convention. |
static class |
Bindables.BindableUnionRule
Rule to convert an
LogicalUnion
to a Bindables.BindableUnion. |
static class |
Bindables.BindableValuesRule
Rule that converts a
Values to bindable convention. |
static class |
Bindables.BindableWindowRule
Rule to convert a
LogicalWindow
to a Bindables.BindableWindow. |
class |
NoneToBindableConverterRule
Rule to convert a relational expression from
Convention.NONE
to BindableConvention. |
| Modifier and Type | Field and Description |
|---|---|
static RelOptRule |
Bindables.BINDABLE_AGGREGATE_RULE |
static RelOptRule |
Bindables.BINDABLE_FILTER_RULE |
static RelOptRule |
Bindables.BINDABLE_JOIN_RULE |
static RelOptRule |
Bindables.BINDABLE_PROJECT_RULE |
static RelOptRule |
Bindables.BINDABLE_SORT_RULE |
static RelOptRule |
Bindables.BINDABLE_TABLE_SCAN_RULE |
static RelOptRule |
Bindables.BINDABLE_UNION_RULE |
static RelOptRule |
Bindables.BINDABLE_VALUES_RULE |
static RelOptRule |
Bindables.BINDABLE_WINDOW_RULE |
| Modifier and Type | Field and Description |
|---|---|
static com.google.common.collect.ImmutableList<RelOptRule> |
Bindables.RULES
All rules that convert logical relational expression to bindable.
|
| Modifier and Type | Method and Description |
|---|---|
void |
CalcitePrepare.SparkHandler.RuleSetBuilder.addRule(RelOptRule rule) |
void |
CalcitePrepare.SparkHandler.RuleSetBuilder.removeRule(RelOptRule rule) |
| Modifier and Type | Class and Description |
|---|---|
class |
CommonRelSubExprRule
A
CommonRelSubExprRule is an abstract base class for rules
that are fired only on relational expressions that appear more than once
in a query tree. |
static class |
SubstitutionVisitor.FilterOnProjectRule
Rule that converts a
LogicalFilter
on top of a LogicalProject into a
trivial filter (on a boolean column). |
| Modifier and Type | Field and Description |
|---|---|
RelOptRule |
RelOptRuleCall.rule |
private RelOptRule |
RelOptRuleOperand.rule |
| Modifier and Type | Field and Description |
|---|---|
private Map<String,RelOptRule> |
AbstractRelOptPlanner.mapDescToRule
Maps rule description to rule, just to ensure that rules' descriptions
are unique.
|
| Modifier and Type | Method and Description |
|---|---|
RelOptRule |
RelOptRuleCall.getRule()
Returns the invoked planner rule.
|
RelOptRule |
RelOptRuleOperand.getRule()
Returns the rule this operand belongs to.
|
protected RelOptRule |
AbstractRelOptPlanner.getRuleByDescription(String description)
Returns the rule with a given description
|
| Modifier and Type | Method and Description |
|---|---|
List<RelOptRule> |
RelOptPlanner.getRules()
Returns the list of all registered rules.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
RelOptPlanner.addRule(RelOptRule rule)
Registers a rule.
|
protected boolean |
RelOptRule.equals(RelOptRule that)
Returns whether this rule is equal to another rule.
|
boolean |
AbstractRelOptPlanner.isRuleExcluded(RelOptRule rule)
Determines whether a given rule is excluded by ruleDescExclusionFilter.
|
protected void |
AbstractRelOptPlanner.mapRuleDescription(RelOptRule rule)
Registers a rule's description.
|
boolean |
RelOptPlanner.removeRule(RelOptRule rule)
Removes a rule.
|
void |
RelOptRuleOperand.setRule(RelOptRule rule)
Sets the rule this operand belongs to
|
protected void |
AbstractRelOptPlanner.unmapRuleDescription(RelOptRule rule)
Removes the mapping between a rule and its description.
|
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
HepInstruction.RuleClass<R extends RelOptRule>
Instruction that executes all rules of a given class.
|
| Modifier and Type | Field and Description |
|---|---|
(package private) RelOptRule |
HepInstruction.RuleInstance.rule
Explicitly specified rule, or rule looked up by planner from
description.
|
| Modifier and Type | Field and Description |
|---|---|
private Set<RelOptRule> |
HepPlanner.allRules |
(package private) Collection<RelOptRule> |
HepInstruction.RuleCollection.rules
Collection of rules to apply.
|
(package private) Set<RelOptRule> |
HepInstruction.RuleClass.ruleSet
Actual rule set instantiated during planning by filtering all of the
planner's rules through ruleClass.
|
(package private) Set<RelOptRule> |
HepInstruction.ConverterRules.ruleSet
Actual rule set instantiated during planning by filtering all of the
planner's rules, looking for the desired converters.
|
(package private) Set<RelOptRule> |
HepInstruction.CommonRelSubExprRules.ruleSet |
(package private) Set<RelOptRule> |
HepInstruction.EndGroup.ruleSet
Actual rule set instantiated during planning by collecting grouped
rules.
|
| Modifier and Type | Method and Description |
|---|---|
<R extends RelOptRule> |
HepProgramBuilder.addRuleClass(Class<R> ruleClass)
Adds an instruction to attempt to match any rules of a given class.
|
| Modifier and Type | Method and Description |
|---|---|
List<RelOptRule> |
HepPlanner.getRules() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
HepPlanner.addRule(RelOptRule rule) |
HepProgramBuilder |
HepProgramBuilder.addRuleInstance(RelOptRule rule)
Adds an instruction to attempt to match a specific rule object.
|
private HepRelVertex |
HepPlanner.applyRule(RelOptRule rule,
HepRelVertex vertex,
boolean forceConversions) |
boolean |
HepPlanner.removeRule(RelOptRule rule) |
| Modifier and Type | Method and Description |
|---|---|
HepProgramBuilder |
HepProgramBuilder.addRuleCollection(Collection<RelOptRule> rules)
Adds an instruction to attempt to match any rules in a given collection.
|
private void |
HepPlanner.applyRules(Collection<RelOptRule> rules,
boolean forceConversions) |
private int |
HepPlanner.depthFirstApply(Iterator<HepRelVertex> iter,
Collection<RelOptRule> rules,
boolean forceConversions,
int nMatches) |
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractConverter.ExpandConversionRule
Rule which converts an
AbstractConverter into a chain of
converters from the source relation to the target traits. |
| Modifier and Type | Field and Description |
|---|---|
(package private) RelOptRule |
VolcanoPlanner.RuleProvenance.rule |
| Modifier and Type | Field and Description |
|---|---|
protected Set<RelOptRule> |
VolcanoPlanner.ruleSet
Set of all registered rules.
|
| Modifier and Type | Method and Description |
|---|---|
List<RelOptRule> |
VolcanoPlanner.getRules() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
VolcanoPlanner.addRule(RelOptRule rule) |
boolean |
VolcanoPlanner.removeRule(RelOptRule rule) |
| Constructor and Description |
|---|
RuleProvenance(RelOptRule rule,
com.google.common.collect.ImmutableList<RelNode> rels,
int callId) |
| Modifier and Type | Field and Description |
|---|---|
private static List<RelOptRule> |
CalcitePrepareImpl.CONSTANT_REDUCTION_RULES |
private static List<RelOptRule> |
CalcitePrepareImpl.DEFAULT_RULES |
static List<RelOptRule> |
CalcitePrepareImpl.ENUMERABLE_RULES |
| Modifier and Type | Class and Description |
|---|---|
class |
ConverterRule
Abstract base class for a rule which converts from one calling convention to
another without changing semantics.
|
class |
TraitMatchingRule
TraitMatchingRule adapts a converter rule, restricting it to fire only when
its input already matches the expected output trait.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractJoinExtractFilterRule
|
class |
AbstractMaterializedViewRule
|
private static class |
AbstractMaterializedViewRule.MaterializedViewAggregateRule
Materialized view rewriting for aggregate
|
private static class |
AbstractMaterializedViewRule.MaterializedViewJoinRule
Materialized view rewriting for join
|
static class |
AbstractMaterializedViewRule.MaterializedViewOnlyAggregateRule
Rule that matches Aggregate.
|
static class |
AbstractMaterializedViewRule.MaterializedViewOnlyFilterRule
Rule that matches Filter.
|
static class |
AbstractMaterializedViewRule.MaterializedViewOnlyJoinRule
Rule that matches Join.
|
static class |
AbstractMaterializedViewRule.MaterializedViewProjectAggregateRule
Rule that matches Project on Aggregate.
|
static class |
AbstractMaterializedViewRule.MaterializedViewProjectFilterRule
Rule that matches Project on Filter.
|
static class |
AbstractMaterializedViewRule.MaterializedViewProjectJoinRule
Rule that matches Project on Join.
|
class |
AggregateExpandDistinctAggregatesRule
Planner rule that expands distinct aggregates
(such as
COUNT(DISTINCT x)) from a
Aggregate. |
class |
AggregateExtractProjectRule
|
class |
AggregateFilterTransposeRule
|
class |
AggregateJoinTransposeRule
|
class |
AggregateProjectMergeRule
|
class |
AggregateProjectPullUpConstantsRule
Planner rule that removes constant keys from an
Aggregate. |
class |
AggregateReduceFunctionsRule
Planner rule that reduces aggregate functions in
Aggregates to simpler forms. |
class |
AggregateRemoveRule
Planner rule that removes
a
Aggregate
if it computes no aggregate functions
(that is, it is implementing SELECT DISTINCT)
and the underlying relational expression is already distinct. |
class |
AggregateStarTableRule
Planner rule that matches an
Aggregate on
top of a StarTable.StarTableScan. |
class |
AggregateUnionAggregateRule
|
class |
AggregateUnionTransposeRule
|
class |
AggregateValuesRule
|
class |
CalcMergeRule
Planner rule that merges a
LogicalCalc onto a
LogicalCalc. |
class |
CalcRemoveRule
Planner rule that removes a trivial
LogicalCalc. |
class |
CalcSplitRule
|
class |
CoerceInputsRule
CoerceInputsRule pre-casts inputs to a particular type.
|
static class |
DateRangeRules.FilterDateRangeRule
Rule that converts EXTRACT, FLOOR and CEIL in a
Filter into a date
range. |
class |
FilterAggregateTransposeRule
|
class |
FilterCalcMergeRule
Planner rule that merges a
LogicalFilter and a
LogicalCalc. |
class |
FilterCorrelateRule
|
class |
FilterJoinRule
Planner rule that pushes filters above and
within a join node into the join node and/or its children nodes.
|
static class |
FilterJoinRule.FilterIntoJoinRule
Rule that tries to push filter expressions into a join
condition and into the inputs of the join.
|
static class |
FilterJoinRule.JoinConditionPushRule
Rule that pushes parts of the join condition to its inputs.
|
class |
FilterMergeRule
Planner rule that combines two
LogicalFilters. |
class |
FilterMultiJoinMergeRule
|
class |
FilterProjectTransposeRule
Planner rule that pushes
a
LogicalFilter
past a LogicalProject. |
class |
FilterRemoveIsNotDistinctFromRule
Planner rule that replaces
IS NOT DISTINCT FROM
in a LogicalFilter
with logically equivalent operations. |
class |
FilterSetOpTransposeRule
|
class |
FilterTableFunctionTransposeRule
Planner rule that pushes
a
LogicalFilter
past a LogicalTableFunctionScan. |
class |
FilterTableScanRule
Planner rule that converts
a
Filter
on a TableScan
of a FilterableTable
or a ProjectableFilterableTable
to a Bindables.BindableTableScan. |
class |
FilterToCalcRule
Planner rule that converts a
LogicalFilter to a
LogicalCalc. |
class |
IntersectToDistinctRule
|
class |
JoinAddRedundantSemiJoinRule
Rule to add a semi-join into a join.
|
class |
JoinAssociateRule
Planner rule that changes a join based on the associativity rule.
|
class |
JoinCommuteRule
Planner rule that permutes the inputs to a
Join. |
class |
JoinExtractFilterRule
|
class |
JoinProjectTransposeRule
Planner rule that matches a
Join one of whose inputs is a
LogicalProject, and
pulls the project up. |
class |
JoinPushExpressionsRule
Planner rule that pushes down expressions in "equal" join condition.
|
class |
JoinPushThroughJoinRule
Rule that pushes the right input of a join into through the left input of
the join, provided that the left input is also a join.
|
class |
JoinPushTransitivePredicatesRule
|
class |
JoinToCorrelateRule
Rule that converts a
LogicalJoin
into a LogicalCorrelate, which can
then be implemented using nested loops. |
class |
JoinToMultiJoinRule
Planner rule to flatten a tree of
LogicalJoins
into a single MultiJoin with N inputs. |
class |
JoinUnionTransposeRule
|
class |
LoptOptimizeJoinRule
Planner rule that implements the heuristic planner for determining optimal
join orderings.
|
class |
MaterializedViewFilterScanRule
|
class |
MultiJoinOptimizeBushyRule
Planner rule that finds an approximately optimal ordering for join operators
using a heuristic algorithm.
|
class |
MultiJoinProjectTransposeRule
MultiJoinProjectTransposeRule implements the rule for pulling
LogicalProjects that are on top of a
MultiJoin and beneath a
LogicalJoin so the
LogicalProject appears above the
LogicalJoin. |
class |
ProjectCalcMergeRule
Planner rule which merges a
LogicalProject and a
LogicalCalc. |
class |
ProjectFilterTransposeRule
|
class |
ProjectJoinTransposeRule
|
class |
ProjectMergeRule
|
class |
ProjectMultiJoinMergeRule
|
class |
ProjectRemoveRule
Planner rule that,
given a
Project node that
merely returns its input, converts the node into its child. |
class |
ProjectSetOpTransposeRule
Planner rule that pushes
a
LogicalProject
past a SetOp. |
class |
ProjectSortTransposeRule
|
class |
ProjectTableScanRule
Planner rule that converts a
Project
on a TableScan
of a ProjectableFilterableTable
to a Bindables.BindableTableScan. |
class |
ProjectToCalcRule
Rule to convert a
LogicalProject to a
LogicalCalc |
class |
ProjectToWindowRule
Planner rule that slices a
Project
into sections which contain windowed
aggregate functions and sections which do not. |
static class |
ProjectToWindowRule.CalcToWindowRule
Instance of the rule that applies to a
Calc that contains
windowed aggregates and converts it into a mixture of
LogicalWindow and Calc. |
static class |
ProjectToWindowRule.ProjectToLogicalProjectAndWindowRule
Instance of the rule that can be applied to a
Project and that produces, in turn,
a mixture of LogicalProject
and LogicalWindow. |
class |
ProjectWindowTransposeRule
Planner rule that pushes
a
LogicalProject
past a LogicalWindow. |
static class |
PruneEmptyRules.RemoveEmptySingleRule
Planner rule that converts a single-rel (e.g.
|
class |
ReduceDecimalsRule
ReduceDecimalsRule is a rule which reduces decimal operations (such as casts
or arithmetic) into operations involving more primitive types (such as longs
and doubles).
|
class |
ReduceExpressionsRule
Collection of planner rules that apply various simplifying transformations on
RexNode trees.
|
static class |
ReduceExpressionsRule.CalcReduceExpressionsRule
Rule that reduces constants inside a
Calc. |
static class |
ReduceExpressionsRule.FilterReduceExpressionsRule
Rule that reduces constants inside a
Filter. |
static class |
ReduceExpressionsRule.JoinReduceExpressionsRule
Rule that reduces constants inside a
Join. |
static class |
ReduceExpressionsRule.ProjectReduceExpressionsRule
Rule that reduces constants inside a
Project. |
class |
SemiJoinFilterTransposeRule
|
class |
SemiJoinJoinTransposeRule
|
class |
SemiJoinProjectTransposeRule
|
class |
SemiJoinRemoveRule
Planner rule that removes a
SemiJoins
from a join tree. |
class |
SemiJoinRule
|
static class |
SemiJoinRule.JoinToSemiJoinRule
SemiJoinRule that matches a Join with an empty Aggregate as its right
child.
|
static class |
SemiJoinRule.ProjectToSemiJoinRule
SemiJoinRule that matches a Project on top of a Join with an Aggregate
as its right child.
|
class |
SortJoinTransposeRule
|
class |
SortProjectTransposeRule
|
class |
SortRemoveRule
Planner rule that removes
a
Sort if its input is already sorted. |
class |
SortUnionTransposeRule
|
class |
SubQueryRemoveRule
Transform that converts IN, EXISTS and scalar sub-queries into joins.
|
class |
TableScanRule
Planner rule that converts a
LogicalTableScan to the result
of calling RelOptTable.toRel(org.apache.calcite.plan.RelOptTable.ToRelContext). |
class |
UnionEliminatorRule
UnionEliminatorRule checks to see if its possible to optimize a
Union call by eliminating the Union operator altogether in the case the call
consists of only one input. |
class |
UnionMergeRule
|
class |
UnionPullUpConstantsRule
Planner rule that pulls up constants through a Union operator.
|
class |
UnionToDistinctRule
|
class |
ValuesReduceRule
Planner rule that folds projections and filters into an underlying
LogicalValues. |
| Modifier and Type | Field and Description |
|---|---|
static RelOptRule |
PruneEmptyRules.AGGREGATE_INSTANCE
Rule that converts an
Aggregate
to empty if its child is empty. |
protected RelOptRule |
AbstractMaterializedViewRule.MaterializedViewAggregateRule.aggregateProjectPullUpConstantsRule
Instance of rule to pull up constants into aggregate.
|
static RelOptRule |
PruneEmptyRules.FILTER_INSTANCE
Rule that converts a
LogicalFilter
to empty if its child is empty. |
static RelOptRule |
DateRangeRules.FILTER_INSTANCE |
protected RelOptRule |
AbstractMaterializedViewRule.MaterializedViewAggregateRule.filterAggregateTransposeRule
Instance of rule to push filter through aggregate.
|
protected RelOptRule |
AbstractMaterializedViewRule.MaterializedViewAggregateRule.filterProjectTransposeRule
Instance of rule to push filter through project.
|
static RelOptRule |
PruneEmptyRules.INTERSECT_INSTANCE
Rule that converts a
LogicalIntersect to
empty if any of its children are empty. |
static RelOptRule |
PruneEmptyRules.JOIN_LEFT_INSTANCE
Rule that converts a
Join
to empty if its left child is empty. |
static RelOptRule |
PruneEmptyRules.JOIN_RIGHT_INSTANCE
Rule that converts a
Join
to empty if its right child is empty. |
static RelOptRule |
JoinPushThroughJoinRule.LEFT
Instance of the rule that works on logical joins only, and pushes to the
left.
|
static RelOptRule |
PruneEmptyRules.MINUS_INSTANCE
Rule that removes empty children of a
LogicalMinus. |
static RelOptRule |
PruneEmptyRules.PROJECT_INSTANCE
Rule that converts a
LogicalProject
to empty if its child is empty. |
protected RelOptRule |
AbstractMaterializedViewRule.MaterializedViewAggregateRule.projectMergeRule
Instance of rule to merge project operators.
|
static RelOptRule |
JoinPushThroughJoinRule.RIGHT
Instance of the rule that works on logical joins only, and pushes to the
right.
|
static RelOptRule |
PruneEmptyRules.SORT_FETCH_ZERO_INSTANCE
Rule that converts a
Sort
to empty if it has LIMIT 0. |
static RelOptRule |
PruneEmptyRules.SORT_INSTANCE
Rule that converts a
Sort
to empty if its child is empty. |
static RelOptRule |
PruneEmptyRules.UNION_INSTANCE
Rule that removes empty children of a
LogicalUnion. |
| Modifier and Type | Class and Description |
|---|---|
static class |
StreamRules.DeltaAggregateTransposeRule
|
static class |
StreamRules.DeltaFilterTransposeRule
|
static class |
StreamRules.DeltaJoinTransposeRule
|
static class |
StreamRules.DeltaProjectTransposeRule
|
static class |
StreamRules.DeltaSortTransposeRule
|
static class |
StreamRules.DeltaTableScanRule
|
static class |
StreamRules.DeltaTableScanToEmptyRule
Planner rule that converts
Delta over a TableScan of
a table other than StreamableTable to
an empty Values. |
static class |
StreamRules.DeltaUnionTransposeRule
|
| Modifier and Type | Field and Description |
|---|---|
static com.google.common.collect.ImmutableList<RelOptRule> |
StreamRules.RULES |
| Modifier and Type | Class and Description |
|---|---|
private class |
RelDecorrelator.AdjustProjectForCountAggregateRule
Planner rule that adjusts projects when counts are added.
|
private class |
RelDecorrelator.RemoveCorrelationForScalarAggregateRule
Planner rule that removes correlations for scalar aggregates.
|
private class |
RelDecorrelator.RemoveCorrelationForScalarProjectRule
Planner rule that removes correlations for scalar projects.
|
private class |
RelDecorrelator.RemoveSingleAggregateRule
Rule to remove single_value rel.
|
| Modifier and Type | Field and Description |
|---|---|
static com.google.common.collect.ImmutableList<RelOptRule> |
Programs.CALC_RULES |
static com.google.common.collect.ImmutableSet<RelOptRule> |
Programs.RULE_SET |
private com.google.common.collect.ImmutableList<RelOptRule> |
RuleSets.ListRuleSet.rules |
| Modifier and Type | Method and Description |
|---|---|
Iterator<RelOptRule> |
RuleSets.ListRuleSet.iterator() |
| Modifier and Type | Method and Description |
|---|---|
static RuleSet |
RuleSets.ofList(RelOptRule... rules)
Creates a rule set with a given array of rules.
|
static Program |
Programs.ofRules(RelOptRule... rules)
Creates a program from a list of rules.
|
| Modifier and Type | Method and Description |
|---|---|
static Program |
Programs.hep(Iterable<? extends RelOptRule> rules,
boolean noDag,
RelMetadataProvider metadataProvider)
Creates a program that executes a list of rules in a HEP planner.
|
static Program |
Programs.heuristicJoinOrder(Iterable<? extends RelOptRule> rules,
boolean bushy,
int minJoinCount)
Creates a program that invokes heuristic join-order optimization
(via
JoinToMultiJoinRule,
MultiJoin and
LoptOptimizeJoinRule)
if there are 6 or more joins (7 or more relations). |
static RuleSet |
RuleSets.ofList(Iterable<? extends RelOptRule> rules)
Creates a rule set with a given collection of rules.
|
static Program |
Programs.ofRules(Iterable<? extends RelOptRule> rules)
Creates a program from a list of rules.
|
| Constructor and Description |
|---|
ListRuleSet(com.google.common.collect.ImmutableList<RelOptRule> rules) |
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.