Class FlinkJoinReorderRule
java.lang.Object
org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelRule<FlinkJoinReorderRule.Config>
org.apache.flink.table.planner.plan.rules.logical.FlinkJoinReorderRule
- All Implemented Interfaces:
org.apache.calcite.rel.rules.TransformationRule
@Enclosing
public class FlinkJoinReorderRule
extends org.apache.calcite.plan.RelRule<FlinkJoinReorderRule.Config>
implements org.apache.calcite.rel.rules.TransformationRule
Flink join reorder rule, which can change the join order of input relNode tree.
It is triggered by the (MultiJoin).
In this rule, there are two specific join reorder strategies can be chosen, one is LoptOptimizeJoinRule, another is FlinkBushyJoinReorderRule. Which rule is selected
depends on the parameter OptimizerConfigOptions.TABLE_OPTIMIZER_BUSHY_JOIN_REORDER_THRESHOLD.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceRule configuration.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
FieldsFields inherited from class org.apache.calcite.plan.RelRule
configFields inherited from class org.apache.calcite.plan.RelOptRule
description, operands, relBuilderFactory -
Constructor Summary
ConstructorsModifierConstructorDescriptionFlinkJoinReorderRule(org.apache.calcite.rel.core.RelFactories.JoinFactory joinFactory, org.apache.calcite.rel.core.RelFactories.ProjectFactory projectFactory, org.apache.calcite.rel.core.RelFactories.FilterFactory filterFactory) Deprecated.FlinkJoinReorderRule(org.apache.calcite.tools.RelBuilderFactory relBuilderFactory) Deprecated.protectedCreates an SparkJoinReorderRule. -
Method Summary
Methods inherited from class org.apache.calcite.plan.RelOptRule
any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
FlinkJoinReorderRule
Creates an SparkJoinReorderRule. -
FlinkJoinReorderRule
@Deprecated public FlinkJoinReorderRule(org.apache.calcite.tools.RelBuilderFactory relBuilderFactory) Deprecated. -
FlinkJoinReorderRule
@Deprecated public FlinkJoinReorderRule(org.apache.calcite.rel.core.RelFactories.JoinFactory joinFactory, org.apache.calcite.rel.core.RelFactories.ProjectFactory projectFactory, org.apache.calcite.rel.core.RelFactories.FilterFactory filterFactory) Deprecated.
-
-
Method Details
-
onMatch
public void onMatch(org.apache.calcite.plan.RelOptRuleCall call) - Specified by:
onMatchin classorg.apache.calcite.plan.RelOptRule
-