Class DrillJoinRelBase
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
- All Implemented Interfaces:
Cloneable,org.apache.calcite.plan.RelOptNode,org.apache.calcite.rel.hint.Hintable,org.apache.calcite.rel.RelNode,DrillRelNode,DrillJoin
- Direct Known Subclasses:
DrillJoinRel,DrillSemiJoinRel,JoinPrel,PluginJoinRel
public abstract class DrillJoinRelBase
extends org.apache.calcite.rel.core.Join
implements DrillJoin
Base class for logical and physical Joins 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
FieldsModifier and TypeFieldDescriptionThe join key positions for which null values will not match.Fields 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, traitSet -
Constructor Summary
ConstructorsConstructorDescriptionDrillJoinRelBase(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) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.apache.calcite.plan.RelOptCostcomputeCartesianJoinCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) protected org.apache.calcite.plan.RelOptCostcomputeHashJoinCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) static org.apache.calcite.plan.RelOptCostcomputeHashJoinCostWithRowCntKeySize(org.apache.calcite.plan.RelOptPlanner planner, double probeRowCount, double buildRowCount, int keySize) protected org.apache.calcite.plan.RelOptCostcomputeLogicalJoinCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) org.apache.calcite.plan.RelOptCostcomputeSelfCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) doubleestimateRowCount(org.apache.calcite.rel.metadata.RelMetadataQuery mq) static <T> booleanstatic booleanuniqueFieldNames(org.apache.calcite.rel.type.RelDataType rowType) Methods inherited from class org.apache.calcite.rel.core.Join
accept, analyzeCondition, copy, 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, copy, deepEquals, deepHashCode, 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
-
leftKeys
-
rightKeys
-
filterNulls
The join key positions for which null values will not match.
-
-
Constructor Details
-
DrillJoinRelBase
public DrillJoinRelBase(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)
-
-
Method Details
-
computeSelfCost
public org.apache.calcite.plan.RelOptCost computeSelfCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) - Specified by:
computeSelfCostin interfaceorg.apache.calcite.rel.RelNode- Overrides:
computeSelfCostin classorg.apache.calcite.rel.core.Join
-
estimateRowCount
public double estimateRowCount(org.apache.calcite.rel.metadata.RelMetadataQuery mq) - Specified by:
estimateRowCountin interfaceorg.apache.calcite.rel.RelNode- Overrides:
estimateRowCountin classorg.apache.calcite.rel.core.Join
-
uniqueFieldNames
public static boolean uniqueFieldNames(org.apache.calcite.rel.type.RelDataType rowType) -
isUnique
-
getLeftKeys
- Specified by:
getLeftKeysin interfaceDrillJoin
-
getRightKeys
- Specified by:
getRightKeysin interfaceDrillJoin
-
computeCartesianJoinCost
protected org.apache.calcite.plan.RelOptCost computeCartesianJoinCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) -
computeLogicalJoinCost
protected org.apache.calcite.plan.RelOptCost computeLogicalJoinCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) -
computeHashJoinCost
protected org.apache.calcite.plan.RelOptCost computeHashJoinCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) -
computeHashJoinCostWithRowCntKeySize
public static org.apache.calcite.plan.RelOptCost computeHashJoinCostWithRowCntKeySize(org.apache.calcite.plan.RelOptPlanner planner, double probeRowCount, double buildRowCount, int keySize)
-