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

public abstract class JoinPruleBase extends Prule
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected static enum 
     

    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

    Constructors
    Modifier
    Constructor
    Description
    protected
    JoinPruleBase(org.apache.calcite.plan.RelOptRuleOperand operand, String description)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected 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)
     
     

    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

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • JoinPruleBase

      protected JoinPruleBase(org.apache.calcite.plan.RelOptRuleOperand operand, String description)
  • Method Details

    • checkPreconditions

      protected boolean checkPreconditions(DrillJoin join, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, PlannerSettings settings)
    • getDistributionField

      protected List<DrillDistributionTrait.DistributionField> getDistributionField(List<Integer> keys)
    • 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