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
Logical Join implemented in Drill.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
org.apache.calcite.rel.RelNode.Context -
Field Summary
FieldsFields inherited from class org.apache.drill.exec.planner.common.DrillJoinRelBase
filterNulls, leftKeys, rightKeysFields inherited from class org.apache.calcite.rel.core.Join
condition, hints, joinInfo, joinType, variablesSetFields inherited from class org.apache.calcite.rel.BiRel
left, rightFields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSetFields inherited from interface org.apache.drill.exec.planner.logical.DrillRel
DRILL_LOGICAL -
Constructor Summary
ConstructorsConstructorDescriptionDrillJoinRel(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
Modifier and TypeMethodDescriptionstatic DrillJoinRelconvert(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.RexNodegetJoinCondition(Join join, ConversionContext context) protected static org.apache.calcite.util.Pair<org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode> getJoinInputs(Join join, ConversionContext context) implement(DrillImplementor implementor) static LogicalOperatorimplementInput(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.drill.exec.planner.common.DrillJoinRelBase
computeCartesianJoinCost, computeHashJoinCost, computeHashJoinCostWithRowCntKeySize, computeLogicalJoinCost, computeSelfCost, estimateRowCount, getLeftKeys, getRightKeys, isUnique, uniqueFieldNamesMethods inherited from class org.apache.calcite.rel.core.Join
accept, analyzeCondition, copy, createJoinType, deepEquals0, deepHashCode0, deriveJoinRowType, deriveRowType, estimateJoinedRows, explainTerms, getCondition, getHints, getJoinType, getSystemFieldList, getVariablesSet, isSemiJoin, isSemiJoinDone, isValidMethods inherited from class org.apache.calcite.rel.BiRel
childrenAccept, getInputs, getLeft, getRight, replaceInputMethods inherited from class org.apache.calcite.rel.AbstractRelNode
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, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.drill.exec.planner.logical.DrillJoin
getCondition, getJoinType, getLeft, getRight, isSemiJoinMethods inherited from interface org.apache.calcite.rel.hint.Hintable
attachHints, withHintsMethods inherited from interface org.apache.calcite.rel.RelNode
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, replaceInputMethods inherited from interface org.apache.calcite.plan.RelOptNode
getCluster, getDescription, getId, getTraitSet
-
Field Details
-
EQUALITY_CONDITION
- See Also:
-
-
Constructor Details
-
DrillJoinRel
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
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
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
-
copy
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:
copyin classorg.apache.calcite.rel.core.Join
-
implement
-
implementInput
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
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
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
public static DrillJoinRel convert(Join join, ConversionContext context) throws org.apache.calcite.rel.InvalidRelException - Throws:
org.apache.calcite.rel.InvalidRelException
-