Class FlinkProjectCalcMergeRule
java.lang.Object
org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelRule<org.apache.calcite.rel.rules.ProjectCalcMergeRule.Config>
org.apache.calcite.rel.rules.ProjectCalcMergeRule
org.apache.flink.table.planner.plan.rules.logical.FlinkProjectCalcMergeRule
- All Implemented Interfaces:
org.apache.calcite.rel.rules.TransformationRule
public class FlinkProjectCalcMergeRule
extends org.apache.calcite.rel.rules.ProjectCalcMergeRule
Extends calcite's ProjectMergeRule, modification: only merge the two neighbouring
Project
and Calc if each non-deterministic RexNode of bottom Calc should appear
at most once in the project list of top Project.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.calcite.rel.rules.ProjectCalcMergeRule
org.apache.calcite.rel.rules.ProjectCalcMergeRule.ConfigNested classes/interfaces inherited from class org.apache.calcite.plan.RelRule
org.apache.calcite.plan.RelRule.Done, org.apache.calcite.plan.RelRule.MatchHandler<R extends org.apache.calcite.plan.RelOptRule>, org.apache.calcite.plan.RelRule.OperandBuilder, org.apache.calcite.plan.RelRule.OperandDetailBuilder<R extends org.apache.calcite.rel.RelNode>, org.apache.calcite.plan.RelRule.OperandTransformNested classes/interfaces inherited from class org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelOptRule.ConverterRelOptRuleOperand -
Field Summary
FieldsFields inherited from class org.apache.calcite.plan.RelRule
configFields inherited from class org.apache.calcite.plan.RelOptRule
description, operands, relBuilderFactory -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedFlinkProjectCalcMergeRule(org.apache.calcite.rel.rules.ProjectCalcMergeRule.Config config) -
Method Summary
Methods inherited from class org.apache.calcite.rel.rules.ProjectCalcMergeRule
onMatchMethods inherited from class org.apache.calcite.plan.RelOptRule
any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
-
Field Details
-
INSTANCE
public static final org.apache.calcite.plan.RelOptRule INSTANCE
-
-
Constructor Details
-
FlinkProjectCalcMergeRule
protected FlinkProjectCalcMergeRule(org.apache.calcite.rel.rules.ProjectCalcMergeRule.Config config)
-
-
Method Details
-
matches
public boolean matches(org.apache.calcite.plan.RelOptRuleCall call) - Overrides:
matchesin classorg.apache.calcite.plan.RelOptRule
-