Class JoinPruleBase
java.lang.Object
org.apache.calcite.plan.RelOptRule
org.apache.drill.exec.planner.physical.Prule
org.apache.drill.exec.planner.physical.JoinPruleBase
- Direct Known Subclasses:
HashJoinPrule,MergeJoinPrule,NestedLoopJoinPrule,RowKeyJoinPrule
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelOptRule.ConverterRelOptRuleOperand -
Field Summary
Fields inherited from class org.apache.calcite.plan.RelOptRule
description, operands, relBuilderFactory -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJoinPruleBase(org.apache.calcite.plan.RelOptRuleOperand operand, String description) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancheckBroadcastConditions(org.apache.calcite.plan.RelOptPlanner planner, DrillJoin join, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right) protected booleancheckPreconditions(DrillJoin join, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, PlannerSettings settings) protected voidcreateBroadcastPlan(org.apache.calcite.plan.RelOptRuleCall call, DrillJoin join, org.apache.calcite.rex.RexNode joinCondition, JoinPruleBase.PhysicalJoinType physicalJoinType, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.RelCollation collationLeft, org.apache.calcite.rel.RelCollation collationRight) protected voidcreateDistBothPlan(org.apache.calcite.plan.RelOptRuleCall call, DrillJoin join, JoinPruleBase.PhysicalJoinType physicalJoinType, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.RelCollation collationLeft, org.apache.calcite.rel.RelCollation collationRight, boolean hashSingleKey) protected voidcreateRangePartitionRightPlan(org.apache.calcite.plan.RelOptRuleCall call, RowKeyJoinRel join, JoinPruleBase.PhysicalJoinType physicalJoinType, boolean implementAsRowKeyJoin, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.RelCollation collationLeft, org.apache.calcite.rel.RelCollation collationRight) protected List<DrillDistributionTrait.DistributionField> getDistributionField(List<Integer> keys) Methods inherited from class org.apache.drill.exec.planner.physical.Prule
convert, isSingleModeMethods inherited from class org.apache.calcite.plan.RelOptRule
any, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, onMatch, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
-
Constructor Details
-
JoinPruleBase
-
-
Method Details
-
checkPreconditions
protected boolean checkPreconditions(DrillJoin join, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, PlannerSettings settings) -
getDistributionField
-
checkBroadcastConditions
protected boolean checkBroadcastConditions(org.apache.calcite.plan.RelOptPlanner planner, DrillJoin join, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right) -
createRangePartitionRightPlan
protected void createRangePartitionRightPlan(org.apache.calcite.plan.RelOptRuleCall call, RowKeyJoinRel join, JoinPruleBase.PhysicalJoinType physicalJoinType, boolean implementAsRowKeyJoin, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.RelCollation collationLeft, org.apache.calcite.rel.RelCollation collationRight) throws org.apache.calcite.rel.InvalidRelException - Throws:
org.apache.calcite.rel.InvalidRelException
-
createDistBothPlan
protected void createDistBothPlan(org.apache.calcite.plan.RelOptRuleCall call, DrillJoin join, JoinPruleBase.PhysicalJoinType physicalJoinType, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.RelCollation collationLeft, org.apache.calcite.rel.RelCollation collationRight, boolean hashSingleKey) throws org.apache.calcite.rel.InvalidRelException - Throws:
org.apache.calcite.rel.InvalidRelException
-
createBroadcastPlan
protected void createBroadcastPlan(org.apache.calcite.plan.RelOptRuleCall call, DrillJoin join, org.apache.calcite.rex.RexNode joinCondition, JoinPruleBase.PhysicalJoinType physicalJoinType, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.RelCollation collationLeft, org.apache.calcite.rel.RelCollation collationRight) throws org.apache.calcite.rel.InvalidRelException - Throws:
org.apache.calcite.rel.InvalidRelException
-