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 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
ModifierConstructorDescriptionprotected
JoinPruleBase
(org.apache.calcite.plan.RelOptRuleOperand operand, String description) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
checkBroadcastConditions
(org.apache.calcite.plan.RelOptPlanner planner, DrillJoin join, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right) protected boolean
checkPreconditions
(DrillJoin join, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, PlannerSettings settings) 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) 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) 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) protected List<DrillDistributionTrait.DistributionField>
getDistributionField
(List<Integer> keys) Methods inherited from class org.apache.drill.exec.planner.physical.Prule
convert, isSingleMode
Methods 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
-