Class CoreRules
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final AggregateProjectPullUpConstantsRule
More general form ofAGGREGATE_PROJECT_PULL_UP_CONSTANTS
that matches any relational expression.static final AggregateCaseToFilterRule
Rule that converts CASE-style filtered aggregates into true filtered aggregates.static final AggregateExpandDistinctAggregatesRule
Rule that expands distinct aggregates (such asCOUNT(DISTINCT x)
) from aAggregate
.static final AggregateExpandDistinctAggregatesRule
AsAGGREGATE_EXPAND_DISTINCT_AGGREGATES
but generates a Join.static final AggregateExpandWithinDistinctRule
Rule that rewrites aLogicalAggregate
that containsWITHIN DISTINCT
aggregate functions to one that does not.static final AggregateFilterTransposeRule
static final AggregateJoinJoinRemoveRule
static final AggregateJoinRemoveRule
static final AggregateJoinTransposeRule
static final AggregateJoinTransposeRule
AsAGGREGATE_JOIN_TRANSPOSE
, but extended to push down aggregate functions.static final AggregateMergeRule
static final AggregateProjectMergeRule
static final AggregateProjectPullUpConstantsRule
Rule that removes constant keys from anAggregate
.static final AggregateProjectStarTableRule
Variant ofAGGREGATE_STAR_TABLE
that accepts aProject
between theAggregate
and itsStarTable.StarTableScan
input.static final AggregateReduceFunctionsRule
Rule that reduces aggregate functions in anAggregate
to simpler forms.static final AggregateRemoveRule
Rule that removes anAggregate
if it computes no aggregate functions (that is, it is implementingSELECT DISTINCT
), or all the aggregate functions are splittable, and the underlying relational expression is already distinct.static final AggregateStarTableRule
Rule that matches anAggregate
on aStarTable.StarTableScan
.static final AggregateUnionAggregateRule
static final AggregateUnionAggregateRule
static final AggregateUnionAggregateRule
static final AggregateUnionTransposeRule
static final AggregateValuesRule
static final CalcMergeRule
Rule that merges aCalc
onto aCalc
.static final ReduceDecimalsRule
Rule that reduces operations on the DECIMAL type, such as casts or arithmetic, into operations involving more primitive types such as BIGINT and DOUBLE.static final ReduceExpressionsRule.CalcReduceExpressionsRule
Rule that reduces constants inside aLogicalCalc
.static final CalcRemoveRule
Rule that removes a trivialLogicalCalc
.static final CalcSplitRule
static final ProjectToWindowRule.CalcToWindowRule
Rule that transforms aCalc
that contains windowed aggregates to a mixture ofLogicalWindow
andCalc
.static final CoerceInputsRule
Rule that pre-casts inputs to a particular type.static final ExchangeRemoveConstantKeysRule
Rule that removes constants inside aLogicalExchange
.static final FilterAggregateTransposeRule
static final FilterCalcMergeRule
Rule that merges aFilter
and aLogicalCalc
.static final FilterCorrelateRule
static final FilterRemoveIsNotDistinctFromRule
Rule that replacesIS NOT DISTINCT FROM
in aFilter
with logically equivalent operations.static final FilterTableScanRule
static final FilterJoinRule.FilterIntoJoinRule
Rule that tries to push filter expressions into a join condition and into the inputs of the join.static final FilterJoinRule.FilterIntoJoinRule
Dumber version ofFILTER_INTO_JOIN
.static final FilterMergeRule
Rule that combines twoLogicalFilter
s.static final FilterMultiJoinMergeRule
static final FilterProjectTransposeRule
The default instance ofFilterProjectTransposeRule
.static final ReduceExpressionsRule.FilterReduceExpressionsRule
Rule that reduces constants inside aLogicalFilter
.static final FilterSampleTransposeRule
static final FilterTableScanRule
static final FilterSetOpTransposeRule
static final SubQueryRemoveRule
Rule that converts a sub-queries from filter expressions intoCorrelate
instances.static final FilterTableFunctionTransposeRule
Rule that pushes aLogicalFilter
past aLogicalTableFunctionScan
.static final FilterToCalcRule
Rule that converts aLogicalFilter
to aLogicalCalc
.static final ValuesReduceRule
Rule that merges aFilter
onto an underlyingLogicalValues
, resulting in aValues
with potentially fewer rows.static final FilterWindowTransposeRule
static final UnionMergeRule
static final IntersectToDistinctRule
static final JoinAddRedundantSemiJoinRule
Rule to add a semi-join into aJoin
.static final JoinAssociateRule
Rule that changes a join based on the associativity rule, ((a JOIN b) JOIN c) → (a JOIN (b JOIN c)).static final JoinCommuteRule
Rule that permutes the inputs to an innerJoin
.static final JoinCommuteRule
AsJOIN_COMMUTE
but swaps outer joins as well as inner joins.static final FilterJoinRule.JoinConditionPushRule
Rule that pushes predicates in a Join into the inputs to the join.static final JoinDeriveIsNotNullFilterRule
static final JoinExtractFilterRule
static final JoinUnionTransposeRule
static final SemiJoinRule.JoinOnUniqueToSemiJoinRule
static final JoinProjectTransposeRule
Rule that matches aLogicalJoin
whose inputs areLogicalProject
s, and pulls the project expressions up.static final JoinProjectTransposeRule
AsJOIN_PROJECT_BOTH_TRANSPOSE
but match outer as well as inner join.static final JoinProjectTransposeRule
AsJOIN_PROJECT_BOTH_TRANSPOSE
but only the left input is aLogicalProject
.static final JoinProjectTransposeRule
AsJOIN_PROJECT_LEFT_TRANSPOSE
but match outer as well as inner join.static final JoinProjectTransposeRule
AsJOIN_PROJECT_BOTH_TRANSPOSE
but only the right input is aLogicalProject
.static final JoinProjectTransposeRule
AsJOIN_PROJECT_RIGHT_TRANSPOSE
but match outer as well as inner join.static final JoinPushExpressionsRule
Rule that matches aJoin
and pushes down expressions on either side of "equal" conditions.static final JoinPushTransitivePredicatesRule
static final ReduceExpressionsRule.JoinReduceExpressionsRule
Rule that reduces constants inside aJoin
.static final JoinUnionTransposeRule
static final SubQueryRemoveRule
Rule that converts sub-queries from join expressions intoCorrelate
instances.static final JoinToCorrelateRule
Rule that converts aLogicalJoin
into aLogicalCorrelate
.static final JoinToMultiJoinRule
Rule that flattens a tree ofLogicalJoin
s into a singleMultiJoin
with N inputs.static final SemiJoinRule.JoinToSemiJoinRule
static final SortMergeRule
static final MatchRule
Rule that converts aLogicalMatch
to the result of callingLogicalMatch.copy(org.apache.calcite.plan.RelTraitSet, java.util.List<org.apache.calcite.rel.RelNode>)
.static final UnionMergeRule
static final MinusToDistinctRule
static final MultiJoinProjectTransposeRule
Rule that matches aLogicalJoin
whose inputs are both aMultiJoin
with interveningLogicalProject
s, and pulls the Projects up above the Join.static final MultiJoinProjectTransposeRule
AsMULTI_JOIN_BOTH_PROJECT
but only the left input has an intervening Project.static final LoptOptimizeJoinRule
Rule that re-orders aJoin
using a heuristic planner.static final MultiJoinOptimizeBushyRule
Rule that finds an approximately optimal ordering for join operators using a heuristic algorithm and can handle bushy joins.static final MultiJoinProjectTransposeRule
AsMULTI_JOIN_BOTH_PROJECT
but only the right input has an intervening Project.static final ProjectAggregateMergeRule
static final ProjectCalcMergeRule
Rule that merges aLogicalProject
and aLogicalCalc
.static final ProjectCorrelateTransposeRule
static final ProjectFilterTransposeRule
static final ProjectFilterTransposeRule
AsPROJECT_FILTER_TRANSPOSE
, but pushes down project and filter expressions whole, not field references.static final ProjectFilterTransposeRule
AsPROJECT_FILTER_TRANSPOSE
, pushes down field references for filters, but pushes down project expressions whole.static final ValuesReduceRule
Rule that merges aProject
on top of aFilter
onto an underlyingLogicalValues
, resulting in aValues
with different columns and potentially fewer rows.static final ProjectTableScanRule
AsPROJECT_TABLE_SCAN
, but with an interveningEnumerableInterpreter
.static final ProjectJoinJoinRemoveRule
static final ProjectJoinRemoveRule
static final ProjectJoinTransposeRule
Rule that pushes aLogicalProject
past aLogicalJoin
by splitting the projection into a projection on top of each child of the join.static final ProjectMergeRule
static final ProjectMultiJoinMergeRule
static final ProjectOverSumToSum0Rule
Rule that converts SUM to SUM0 in OVER clauses in a project list.static final ReduceExpressionsRule.ProjectReduceExpressionsRule
Rule that reduces constants inside aLogicalProject
.static final ProjectRemoveRule
Rule that, given aProject
node that merely returns its input, converts the node into its input.static final ProjectSetOpTransposeRule
Rule that pushes aLogicalProject
past aSetOp
.static final SubQueryRemoveRule
Rule that converts sub-queries from project expressions intoCorrelate
instances.static final ProjectTableScanRule
Rule that converts aProject
on aTableScan
of aProjectableFilterableTable
to aBindables.BindableTableScan
.static final ProjectToCalcRule
Rule that converts aLogicalProject
to aLogicalCalc
.static final SemiJoinRule.ProjectToSemiJoinRule
static final ValuesReduceRule
Rule that merges aProject
onto an underlyingLogicalValues
, resulting in aValues
with different columns.static final ProjectWindowTransposeRule
Rule that pushes aLogicalProject
past aLogicalWindow
.static final SampleToFilterRule
static final SemiJoinFilterTransposeRule
static final SemiJoinJoinTransposeRule
static final SemiJoinProjectTransposeRule
static final SemiJoinRemoveRule
Rule that removes asemi-join
from a join tree.static final ExchangeRemoveConstantKeysRule
Rule that removes constants inside aLogicalSortExchange
.static final SortJoinCopyRule
static final SortJoinTransposeRule
static final SortProjectTransposeRule
static final SortRemoveRule
Rule that removes aSort
if its input is already sorted.static final SortRemoveConstantKeysRule
Rule that removes keys from aSort
if those keys are known to be constant, or removes the entire Sort if all keys are constant.static final SortRemoveRedundantRule
Rule that removes redundantOrder By
orLimit
when its input RelNode's max row count is less than or equal to specified row count.All of them are represented bySort
static final SortUnionTransposeRule
static final SortUnionTransposeRule
AsSORT_UNION_TRANSPOSE
, but for a Union implementation that preserves the ordering of its inputs.static final UnionMergeRule
static final UnionPullUpConstantsRule
Rule that pulls up constants through a Union operator.static final UnionEliminatorRule
Rule that removes aUnion
if it has only one input.static final UnionToDistinctRule
static final UnionToValuesRule
static final ReduceExpressionsRule.WindowReduceExpressionsRule
Rule that reduces constants inside aLogicalWindow
. -
Method Summary
-
Field Details
-
AGGREGATE_PROJECT_MERGE
-
AGGREGATE_PROJECT_PULL_UP_CONSTANTS
Rule that removes constant keys from anAggregate
. -
AGGREGATE_ANY_PULL_UP_CONSTANTS
More general form ofAGGREGATE_PROJECT_PULL_UP_CONSTANTS
that matches any relational expression. -
AGGREGATE_STAR_TABLE
Rule that matches anAggregate
on aStarTable.StarTableScan
. -
AGGREGATE_PROJECT_STAR_TABLE
Variant ofAGGREGATE_STAR_TABLE
that accepts aProject
between theAggregate
and itsStarTable.StarTableScan
input. -
AGGREGATE_REDUCE_FUNCTIONS
Rule that reduces aggregate functions in anAggregate
to simpler forms. -
AGGREGATE_MERGE
-
AGGREGATE_REMOVE
Rule that removes anAggregate
if it computes no aggregate functions (that is, it is implementingSELECT DISTINCT
), or all the aggregate functions are splittable, and the underlying relational expression is already distinct. -
AGGREGATE_EXPAND_DISTINCT_AGGREGATES
Rule that expands distinct aggregates (such asCOUNT(DISTINCT x)
) from aAggregate
. This instance operates only on logical expressions. -
AGGREGATE_EXPAND_DISTINCT_AGGREGATES_TO_JOIN
public static final AggregateExpandDistinctAggregatesRule AGGREGATE_EXPAND_DISTINCT_AGGREGATES_TO_JOINAsAGGREGATE_EXPAND_DISTINCT_AGGREGATES
but generates a Join. -
AGGREGATE_EXPAND_WITHIN_DISTINCT
Rule that rewrites aLogicalAggregate
that containsWITHIN DISTINCT
aggregate functions to one that does not. -
AGGREGATE_FILTER_TRANSPOSE
-
AGGREGATE_JOIN_JOIN_REMOVE
-
AGGREGATE_JOIN_REMOVE
-
AGGREGATE_JOIN_TRANSPOSE
-
AGGREGATE_JOIN_TRANSPOSE_EXTENDED
AsAGGREGATE_JOIN_TRANSPOSE
, but extended to push down aggregate functions. -
AGGREGATE_UNION_TRANSPOSE
-
AGGREGATE_UNION_AGGREGATE
Rule that matches anAggregate
whose input is aUnion
one of whose inputs is anAggregate
.Because it matches
RelNode
for each input ofUnion
, it will create O(N ^ 2) matches, which may cost too much during the popMatch phase in VolcanoPlanner. If efficiency is a concern, we recommend that you useAGGREGATE_UNION_AGGREGATE_FIRST
andAGGREGATE_UNION_AGGREGATE_SECOND
instead. -
AGGREGATE_UNION_AGGREGATE_FIRST
-
AGGREGATE_UNION_AGGREGATE_SECOND
-
AGGREGATE_CASE_TO_FILTER
Rule that converts CASE-style filtered aggregates into true filtered aggregates. -
CALC_MERGE
Rule that merges aCalc
onto aCalc
. -
CALC_REMOVE
Rule that removes a trivialLogicalCalc
. -
CALC_REDUCE_DECIMALS
Rule that reduces operations on the DECIMAL type, such as casts or arithmetic, into operations involving more primitive types such as BIGINT and DOUBLE. -
CALC_REDUCE_EXPRESSIONS
Rule that reduces constants inside aLogicalCalc
.- See Also:
-
CALC_SPLIT
-
CALC_TO_WINDOW
Rule that transforms aCalc
that contains windowed aggregates to a mixture ofLogicalWindow
andCalc
. -
COERCE_INPUTS
Rule that pre-casts inputs to a particular type. This can assist operator implementations that impose requirements on their input types. -
EXCHANGE_REMOVE_CONSTANT_KEYS
Rule that removes constants inside aLogicalExchange
. -
SORT_EXCHANGE_REMOVE_CONSTANT_KEYS
Rule that removes constants inside aLogicalSortExchange
. -
FILTER_INTO_JOIN
Rule that tries to push filter expressions into a join condition and into the inputs of the join. -
FILTER_INTO_JOIN_DUMB
Dumber version ofFILTER_INTO_JOIN
. Not intended for production use, but keeps some tests working for whichFILTER_INTO_JOIN
is too smart. -
FILTER_MERGE
Rule that combines twoLogicalFilter
s. -
FILTER_CALC_MERGE
Rule that merges aFilter
and aLogicalCalc
. The result is aLogicalCalc
whose filter condition is the logical AND of the two.- See Also:
-
FILTER_TO_CALC
Rule that converts aLogicalFilter
to aLogicalCalc
.- See Also:
-
FILTER_AGGREGATE_TRANSPOSE
- See Also:
-
FILTER_PROJECT_TRANSPOSE
The default instance ofFilterProjectTransposeRule
.It does not allow a Filter to be pushed past the Project if
there is a correlation condition
anywhere in the Filter, since in some cases it can prevent aCorrelate
from being de-correlated. -
FILTER_SAMPLE_TRANSPOSE
-
FILTER_TABLE_FUNCTION_TRANSPOSE
Rule that pushes aLogicalFilter
past aLogicalTableFunctionScan
. -
FILTER_SCAN
-
FILTER_INTERPRETER_SCAN
-
FILTER_CORRELATE
-
FILTER_MULTI_JOIN_MERGE
- See Also:
-
FILTER_EXPAND_IS_NOT_DISTINCT_FROM
Rule that replacesIS NOT DISTINCT FROM
in aFilter
with logically equivalent operations. -
FILTER_SET_OP_TRANSPOSE
-
FILTER_WINDOW_TRANSPOSE
-
FILTER_REDUCE_EXPRESSIONS
Rule that reduces constants inside aLogicalFilter
. -
INTERSECT_MERGE
-
INTERSECT_TO_DISTINCT
-
MINUS_TO_DISTINCT
-
MATCH
Rule that converts aLogicalMatch
to the result of callingLogicalMatch.copy(org.apache.calcite.plan.RelTraitSet, java.util.List<org.apache.calcite.rel.RelNode>)
. -
MINUS_MERGE
-
PROJECT_AGGREGATE_MERGE
-
PROJECT_CALC_MERGE
Rule that merges aLogicalProject
and aLogicalCalc
.- See Also:
-
PROJECT_CORRELATE_TRANSPOSE
-
PROJECT_FILTER_TRANSPOSE
-
PROJECT_FILTER_TRANSPOSE_WHOLE_EXPRESSIONS
AsPROJECT_FILTER_TRANSPOSE
, but pushes down project and filter expressions whole, not field references. -
PROJECT_FILTER_TRANSPOSE_WHOLE_PROJECT_EXPRESSIONS
AsPROJECT_FILTER_TRANSPOSE
, pushes down field references for filters, but pushes down project expressions whole. -
PROJECT_REDUCE_EXPRESSIONS
Rule that reduces constants inside aLogicalProject
.- See Also:
-
PROJECT_SUB_QUERY_TO_CORRELATE
Rule that converts sub-queries from project expressions intoCorrelate
instances. -
FILTER_SUB_QUERY_TO_CORRELATE
Rule that converts a sub-queries from filter expressions intoCorrelate
instances. -
JOIN_SUB_QUERY_TO_CORRELATE
Rule that converts sub-queries from join expressions intoCorrelate
instances. -
PROJECT_OVER_SUM_TO_SUM0_RULE
Rule that converts SUM to SUM0 in OVER clauses in a project list. -
PROJECT_TO_LOGICAL_PROJECT_AND_WINDOW
public static final ProjectToWindowRule.ProjectToLogicalProjectAndWindowRule PROJECT_TO_LOGICAL_PROJECT_AND_WINDOW -
PROJECT_TO_SEMI_JOIN
- See Also:
-
PROJECT_JOIN_JOIN_REMOVE
-
PROJECT_JOIN_REMOVE
-
PROJECT_JOIN_TRANSPOSE
Rule that pushes aLogicalProject
past aLogicalJoin
by splitting the projection into a projection on top of each child of the join. -
PROJECT_MERGE
-
PROJECT_SET_OP_TRANSPOSE
Rule that pushes aLogicalProject
past aSetOp
.The children of the
SetOp
will project only theRexInputRef
s referenced in the originalLogicalProject
. -
PROJECT_MULTI_JOIN_MERGE
- See Also:
-
PROJECT_REMOVE
Rule that, given aProject
node that merely returns its input, converts the node into its input. -
PROJECT_TABLE_SCAN
Rule that converts aProject
on aTableScan
of aProjectableFilterableTable
to aBindables.BindableTableScan
.- See Also:
-
PROJECT_INTERPRETER_TABLE_SCAN
AsPROJECT_TABLE_SCAN
, but with an interveningEnumerableInterpreter
. -
PROJECT_TO_CALC
Rule that converts aLogicalProject
to aLogicalCalc
.- See Also:
-
PROJECT_WINDOW_TRANSPOSE
Rule that pushes aLogicalProject
past aLogicalWindow
. -
JOIN_CONDITION_PUSH
Rule that pushes predicates in a Join into the inputs to the join. -
JOIN_ADD_REDUNDANT_SEMI_JOIN
Rule to add a semi-join into aJoin
. -
JOIN_ASSOCIATE
Rule that changes a join based on the associativity rule, ((a JOIN b) JOIN c) → (a JOIN (b JOIN c)). -
JOIN_COMMUTE
Rule that permutes the inputs to an innerJoin
. -
JOIN_COMMUTE_OUTER
AsJOIN_COMMUTE
but swaps outer joins as well as inner joins. -
JOIN_EXTRACT_FILTER
-
JOIN_PROJECT_BOTH_TRANSPOSE
Rule that matches aLogicalJoin
whose inputs areLogicalProject
s, and pulls the project expressions up. -
JOIN_PROJECT_LEFT_TRANSPOSE
AsJOIN_PROJECT_BOTH_TRANSPOSE
but only the left input is aLogicalProject
. -
JOIN_PROJECT_RIGHT_TRANSPOSE
AsJOIN_PROJECT_BOTH_TRANSPOSE
but only the right input is aLogicalProject
. -
JOIN_PROJECT_BOTH_TRANSPOSE_INCLUDE_OUTER
AsJOIN_PROJECT_BOTH_TRANSPOSE
but match outer as well as inner join. -
JOIN_PROJECT_LEFT_TRANSPOSE_INCLUDE_OUTER
AsJOIN_PROJECT_LEFT_TRANSPOSE
but match outer as well as inner join. -
JOIN_PROJECT_RIGHT_TRANSPOSE_INCLUDE_OUTER
AsJOIN_PROJECT_RIGHT_TRANSPOSE
but match outer as well as inner join. -
JOIN_PUSH_EXPRESSIONS
Rule that matches aJoin
and pushes down expressions on either side of "equal" conditions. -
JOIN_PUSH_TRANSITIVE_PREDICATES
-
JOIN_DERIVE_IS_NOT_NULL_FILTER_RULE
-
JOIN_REDUCE_EXPRESSIONS
Rule that reduces constants inside aJoin
. -
JOIN_ON_UNIQUE_TO_SEMI_JOIN
-
JOIN_TO_CORRELATE
Rule that converts aLogicalJoin
into aLogicalCorrelate
. -
JOIN_TO_MULTI_JOIN
Rule that flattens a tree ofLogicalJoin
s into a singleMultiJoin
with N inputs. -
JOIN_TO_SEMI_JOIN
- See Also:
-
JOIN_LEFT_UNION_TRANSPOSE
-
JOIN_RIGHT_UNION_TRANSPOSE
-
MULTI_JOIN_OPTIMIZE
Rule that re-orders aJoin
using a heuristic planner.It is triggered by the pattern
LogicalProject
(MultiJoin
).- See Also:
-
MULTI_JOIN_OPTIMIZE_BUSHY
Rule that finds an approximately optimal ordering for join operators using a heuristic algorithm and can handle bushy joins.It is triggered by the pattern
LogicalProject
(MultiJoin
).- See Also:
-
MULTI_JOIN_BOTH_PROJECT
Rule that matches aLogicalJoin
whose inputs are both aMultiJoin
with interveningLogicalProject
s, and pulls the Projects up above the Join. -
MULTI_JOIN_LEFT_PROJECT
AsMULTI_JOIN_BOTH_PROJECT
but only the left input has an intervening Project. -
MULTI_JOIN_RIGHT_PROJECT
AsMULTI_JOIN_BOTH_PROJECT
but only the right input has an intervening Project. -
SEMI_JOIN_FILTER_TRANSPOSE
-
SEMI_JOIN_PROJECT_TRANSPOSE
-
SEMI_JOIN_JOIN_TRANSPOSE
-
SEMI_JOIN_REMOVE
Rule that removes asemi-join
from a join tree. -
SORT_UNION_TRANSPOSE
Rule that pushes aSort
past aUnion
.This rule instance is for a Union implementation that does not preserve the ordering of its inputs. Thus, it makes no sense to match this rule if the Sort does not have a limit, i.e.,
Sort.fetch
is null.- See Also:
-
SORT_UNION_TRANSPOSE_MATCH_NULL_FETCH
AsSORT_UNION_TRANSPOSE
, but for a Union implementation that preserves the ordering of its inputs. It is still worth applying this rule even if the Sort does not have a limit, for the merge of already sorted inputs that the Union can do is usually cheap. -
SORT_JOIN_COPY
Rule that copies aSort
past aJoin
without its limit and offset. The originalSort
is preserved but can potentially be removed bySORT_REMOVE
if redundant. -
SORT_REMOVE
Rule that removes aSort
if its input is already sorted. -
LIMIT_MERGE
-
SORT_REMOVE_CONSTANT_KEYS
Rule that removes keys from aSort
if those keys are known to be constant, or removes the entire Sort if all keys are constant. -
SORT_REMOVE_REDUNDANT
Rule that removes redundantOrder By
orLimit
when its input RelNode's max row count is less than or equal to specified row count.All of them are represented bySort
-
SORT_JOIN_TRANSPOSE
-
SORT_PROJECT_TRANSPOSE
-
UNION_MERGE
-
UNION_REMOVE
Rule that removes aUnion
if it has only one input.- See Also:
-
UNION_PULL_UP_CONSTANTS
Rule that pulls up constants through a Union operator. -
UNION_TO_DISTINCT
-
UNION_TO_VALUES
-
SAMPLE_TO_FILTER
-
AGGREGATE_VALUES
-
FILTER_VALUES_MERGE
Rule that merges aFilter
onto an underlyingLogicalValues
, resulting in aValues
with potentially fewer rows. -
PROJECT_VALUES_MERGE
Rule that merges aProject
onto an underlyingLogicalValues
, resulting in aValues
with different columns. -
PROJECT_FILTER_VALUES_MERGE
Rule that merges aProject
on top of aFilter
onto an underlyingLogicalValues
, resulting in aValues
with different columns and potentially fewer rows. -
WINDOW_REDUCE_EXPRESSIONS
Rule that reduces constants inside aLogicalWindow
.- See Also:
-