Class FlinkFilterCalcMergeRule
java.lang.Object
org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelRule<org.apache.calcite.rel.rules.FilterCalcMergeRule.Config>
org.apache.calcite.rel.rules.FilterCalcMergeRule
org.apache.flink.table.planner.plan.rules.logical.FlinkFilterCalcMergeRule
- All Implemented Interfaces:
org.apache.calcite.rel.rules.TransformationRule
public class FlinkFilterCalcMergeRule
extends org.apache.calcite.rel.rules.FilterCalcMergeRule
Extends calcite's FilterCalcMergeRule, modification: only merge the two neighbouring
Filter and Calc if each non-deterministic RexNode of bottom Calc should
appear at most once in the implicit project list and condition of top Filter.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.calcite.rel.rules.FilterCalcMergeRule
org.apache.calcite.rel.rules.FilterCalcMergeRule.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
ConstructorsModifierConstructorDescriptionprotectedFlinkFilterCalcMergeRule(org.apache.calcite.rel.rules.FilterCalcMergeRule.Config config) -
Method Summary
Methods inherited from class org.apache.calcite.rel.rules.FilterCalcMergeRule
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
-
FlinkFilterCalcMergeRule
protected FlinkFilterCalcMergeRule(org.apache.calcite.rel.rules.FilterCalcMergeRule.Config config)
-
-
Method Details
-
matches
public boolean matches(org.apache.calcite.plan.RelOptRuleCall call) - Overrides:
matchesin classorg.apache.calcite.plan.RelOptRule
-