Class EventTimeTemporalJoinRewriteRule
java.lang.Object
org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelRule<EventTimeTemporalJoinRewriteRule.Config>
org.apache.flink.table.planner.plan.rules.logical.EventTimeTemporalJoinRewriteRule
@Enclosing
public class EventTimeTemporalJoinRewriteRule
extends org.apache.calcite.plan.RelRule<EventTimeTemporalJoinRewriteRule.Config>
Traverses an event time temporal table join
RelNode tree and update the right child to
set FlinkLogicalTableSourceScan's eventTimeSnapshot property to true which will prevent
it generating a new StreamPhysicalChangelogNormalize later.
the match patterns are as following(8 variants, the three `Calc` nodes are all optional):
Join (event time temporal)
/ \
RelNode [Calc]
\
Snapshot
\
[Calc]
\
WatermarkAssigner
\
[Calc]
\
TableScan
Note: This rule can only be used in a separate HepProgram
after `LOGICAL_REWRITE` rule sets are applied for now.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceConfiguration forEventTimeTemporalJoinRewriteRule.Nested 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
FieldsModifier and TypeFieldDescriptionstatic final org.apache.calcite.tools.RuleSetFields inherited from class org.apache.calcite.plan.RelRule
configFields inherited from class org.apache.calcite.plan.RelOptRule
description, operands, relBuilderFactory -
Constructor Summary
ConstructorsConstructorDescription -
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
-
EVENT_TIME_TEMPORAL_JOIN_REWRITE_RULES
public static final org.apache.calcite.tools.RuleSet EVENT_TIME_TEMPORAL_JOIN_REWRITE_RULES
-
-
Constructor Details
-
EventTimeTemporalJoinRewriteRule
-
-
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
-