Class DrillJoinRel

java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.BiRel
org.apache.calcite.rel.core.Join
org.apache.drill.exec.planner.common.DrillJoinRelBase
org.apache.drill.exec.planner.logical.DrillJoinRel
All Implemented Interfaces:
Cloneable, org.apache.calcite.plan.RelOptNode, org.apache.calcite.rel.hint.Hintable, org.apache.calcite.rel.RelNode, DrillRelNode, DrillJoin, DrillRel
Direct Known Subclasses:
RowKeyJoinRel

public class DrillJoinRel extends DrillJoinRelBase implements DrillRel
Logical Join implemented in Drill.
  • Nested Class Summary Link icon

    Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode Link icon

    org.apache.calcite.rel.RelNode.Context
  • Field Summary Link icon

    Fields
    Modifier and Type
    Field
    Description
    static final String
     

    Fields inherited from class org.apache.drill.exec.planner.common.DrillJoinRelBase Link icon

    filterNulls, leftKeys, rightKeys

    Fields inherited from class org.apache.calcite.rel.core.Join Link icon

    condition, hints, joinInfo, joinType, variablesSet

    Fields inherited from class org.apache.calcite.rel.BiRel Link icon

    left, right

    Fields inherited from class org.apache.calcite.rel.AbstractRelNode Link icon

    digest, id, rowType, traitSet

    Fields inherited from interface org.apache.drill.exec.planner.logical.DrillRel Link icon

    DRILL_LOGICAL
  • Constructor Summary Link icon

    Constructors
    Constructor
    Description
    DrillJoinRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rex.RexNode condition, org.apache.calcite.rel.core.JoinRelType joinType)
     
    DrillJoinRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rex.RexNode condition, org.apache.calcite.rel.core.JoinRelType joinType, int joinControl)
     
    DrillJoinRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rex.RexNode condition, org.apache.calcite.rel.core.JoinRelType joinType, List<Integer> leftKeys, List<Integer> rightKeys)
     
  • Method Summary Link icon

    Modifier and Type
    Method
    Description
    convert(Join join, ConversionContext context)
     
    copy(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rex.RexNode condition, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.core.JoinRelType joinType, boolean semiJoinDone)
     
    protected static org.apache.calcite.rex.RexNode
     
    protected static org.apache.calcite.util.Pair<org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode>
     
     
    implementInput(DrillImplementor implementor, int i, int offset, org.apache.calcite.rel.RelNode input, DrillRel currentNode, List<String> parentFields)
    Check to make sure that the fields of the inputs are the same as the output field names.

    Methods inherited from class org.apache.calcite.rel.core.Join Link icon

    accept, analyzeCondition, copy, createJoinType, deepEquals0, deepHashCode0, deriveJoinRowType, deriveRowType, estimateJoinedRows, explainTerms, getCondition, getHints, getJoinType, getSystemFieldList, getVariablesSet, isSemiJoin, isSemiJoinDone, isValid

    Methods inherited from class org.apache.calcite.rel.BiRel Link icon

    childrenAccept, getInputs, getLeft, getRight, replaceInput

    Methods inherited from class org.apache.calcite.rel.AbstractRelNode Link icon

    accept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, hashCode, isEnforcer, metadata, onRegister, recomputeDigest, register, sole, toString

    Methods inherited from class java.lang.Object Link icon

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.drill.exec.planner.logical.DrillJoin Link icon

    getCondition, getJoinType, getLeft, getRight, isSemiJoin

    Methods inherited from interface org.apache.calcite.rel.hint.Hintable Link icon

    attachHints, withHints

    Methods inherited from interface org.apache.calcite.rel.RelNode Link icon

    accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, copy, deepEquals, deepHashCode, estimateRowCount, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput

    Methods inherited from interface org.apache.calcite.plan.RelOptNode Link icon

    getCluster, getDescription, getId, getTraitSet
  • Field Details Link icon

  • Constructor Details Link icon

    • DrillJoinRel Link icon

      public DrillJoinRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rex.RexNode condition, org.apache.calcite.rel.core.JoinRelType joinType)
    • DrillJoinRel Link icon

      public DrillJoinRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rex.RexNode condition, org.apache.calcite.rel.core.JoinRelType joinType, int joinControl)
    • DrillJoinRel Link icon

      public DrillJoinRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rex.RexNode condition, org.apache.calcite.rel.core.JoinRelType joinType, List<Integer> leftKeys, List<Integer> rightKeys) throws org.apache.calcite.rel.InvalidRelException
      Throws:
      org.apache.calcite.rel.InvalidRelException
  • Method Details Link icon

    • copy Link icon

      public DrillJoinRel copy(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rex.RexNode condition, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.core.JoinRelType joinType, boolean semiJoinDone)
      Specified by:
      copy in class org.apache.calcite.rel.core.Join
    • implement Link icon

      public LogicalOperator implement(DrillImplementor implementor)
      Specified by:
      implement in interface DrillRel
    • implementInput Link icon

      public static LogicalOperator implementInput(DrillImplementor implementor, int i, int offset, org.apache.calcite.rel.RelNode input, DrillRel currentNode, List<String> parentFields)
      Check to make sure that the fields of the inputs are the same as the output field names. If not, insert a project renaming them.
      Parameters:
      implementor -
      i -
      offset -
      input -
      currentNode - the node to be implemented
      Returns:
    • getJoinInputs Link icon

      protected static org.apache.calcite.util.Pair<org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode> getJoinInputs(Join join, ConversionContext context) throws org.apache.calcite.rel.InvalidRelException
      Throws:
      org.apache.calcite.rel.InvalidRelException
    • getJoinCondition Link icon

      protected static org.apache.calcite.rex.RexNode getJoinCondition(Join join, ConversionContext context) throws org.apache.calcite.rel.InvalidRelException
      Throws:
      org.apache.calcite.rel.InvalidRelException
    • convert Link icon

      public static DrillJoinRel convert(Join join, ConversionContext context) throws org.apache.calcite.rel.InvalidRelException
      Throws:
      org.apache.calcite.rel.InvalidRelException