Class RewriteMultiJoinConditionRule
- java.lang.Object
-
- org.apache.calcite.plan.RelOptRule
-
- org.apache.calcite.plan.RelRule<RewriteMultiJoinConditionRule.RewriteMultiJoinConditionRuleConfig>
-
- org.apache.flink.table.planner.plan.rules.logical.RewriteMultiJoinConditionRule
-
@Enclosing public class RewriteMultiJoinConditionRule extends org.apache.calcite.plan.RelRule<RewriteMultiJoinConditionRule.RewriteMultiJoinConditionRuleConfig>
Planner rule to apply transitive closure onMultiJoin
for equi-join predicates.e.g. MJ(A, B, C) ON A.a1=B.b1 AND B.b1=C.c1 → MJ(A, B, C) ON A.a1=B.b1 AND B.b1=C.c1 AND A.a1=C.c1
The advantage of applying this rule is that it increases the choice of join reorder; at the same time, the disadvantage is that it will use more CPU for additional join predicates.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
RewriteMultiJoinConditionRule.RewriteMultiJoinConditionRuleConfig
Rule configuration.-
Nested classes/interfaces inherited from class org.apache.calcite.plan.RelRule
org.apache.calcite.plan.RelRule.Config, 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.OperandTransform
-
-
Field Summary
Fields Modifier and Type Field Description static RewriteMultiJoinConditionRule
INSTANCE
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
matches(org.apache.calcite.plan.RelOptRuleCall call)
void
onMatch(org.apache.calcite.plan.RelOptRuleCall call)
-
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 Detail
-
INSTANCE
public static final RewriteMultiJoinConditionRule INSTANCE
-
-