Class ProjectWatermarkAssignerTransposeRule
java.lang.Object
org.apache.calcite.plan.RelOptRule
org.apache.flink.table.planner.plan.rules.logical.ProjectWatermarkAssignerTransposeRule
public class ProjectWatermarkAssignerTransposeRule
extends org.apache.calcite.plan.RelOptRule
Transpose between the
LogicalWatermarkAssigner and LogicalProject. The transposed
LogicalProject works like a pruner to prune the unused fields from source. The top level
LogicalProject still has to do the calculation, filter and prune the rowtime column if
the query doesn't need.
NOTES: Currently the rule doesn't support nested projection push down.
-
Nested Class Summary
Nested 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.RelOptRule
description, operands, relBuilderFactory -
Constructor Summary
Constructors -
Method Summary
Methods 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
-
-
Constructor Details
-
ProjectWatermarkAssignerTransposeRule
public ProjectWatermarkAssignerTransposeRule()
-
-
Method Details
-
matches
public boolean matches(org.apache.calcite.plan.RelOptRuleCall call) - Overrides:
matchesin classorg.apache.calcite.plan.RelOptRule
-
onMatch
public void onMatch(org.apache.calcite.plan.RelOptRuleCall call) - Specified by:
onMatchin classorg.apache.calcite.plan.RelOptRule
-