Class FlinkProjectMergeRule
java.lang.Object
org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelRule<org.apache.calcite.rel.rules.ProjectMergeRule.Config>
org.apache.calcite.rel.rules.ProjectMergeRule
org.apache.flink.table.planner.plan.rules.logical.FlinkProjectMergeRule
- All Implemented Interfaces:
org.apache.calcite.rel.rules.TransformationRule
public class FlinkProjectMergeRule
extends org.apache.calcite.rel.rules.ProjectMergeRule
Extends calcite's ProjectMergeRule, modification: only merge the two neighbouring
Projects if each non-deterministic RexNode of bottom Project 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.ProjectMergeRule
org.apache.calcite.rel.rules.ProjectMergeRule.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.rel.rules.ProjectMergeRule
DEFAULT_BLOATFields inherited from class org.apache.calcite.plan.RelRule
configFields inherited from class org.apache.calcite.plan.RelOptRule
description, operands, relBuilderFactory -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedFlinkProjectMergeRule(org.apache.calcite.rel.rules.ProjectMergeRule.Config config) -
Method Summary
Methods inherited from class org.apache.calcite.rel.rules.ProjectMergeRule
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
-
FlinkProjectMergeRule
protected FlinkProjectMergeRule(org.apache.calcite.rel.rules.ProjectMergeRule.Config config)
-
-
Method Details
-
matches
public boolean matches(org.apache.calcite.plan.RelOptRuleCall call) - Overrides:
matchesin classorg.apache.calcite.rel.rules.ProjectMergeRule
-