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
Modifier 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, variablesSet
Fields inherited from class org.apache.calcite.rel.BiRel
left, right
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
-
Constructor Summary
ConstructorDescriptionDrillJoinRelBase
(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.RelOptCost
computeCartesianJoinCost
(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) protected org.apache.calcite.plan.RelOptCost
computeHashJoinCost
(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) static org.apache.calcite.plan.RelOptCost
computeHashJoinCostWithRowCntKeySize
(org.apache.calcite.plan.RelOptPlanner planner, double probeRowCount, double buildRowCount, int keySize) protected org.apache.calcite.plan.RelOptCost
computeLogicalJoinCost
(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) org.apache.calcite.plan.RelOptCost
computeSelfCost
(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq) double
estimateRowCount
(org.apache.calcite.rel.metadata.RelMetadataQuery mq) static <T> boolean
static boolean
uniqueFieldNames
(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, isValid
Methods inherited from class org.apache.calcite.rel.BiRel
childrenAccept, getInputs, getLeft, getRight, replaceInput
Methods 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, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.drill.exec.planner.logical.DrillJoin
getCondition, getJoinType, getLeft, getRight, isSemiJoin
Methods inherited from interface org.apache.calcite.rel.hint.Hintable
attachHints, withHints
Methods 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, replaceInput
Methods 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:
computeSelfCost
in interfaceorg.apache.calcite.rel.RelNode
- Overrides:
computeSelfCost
in classorg.apache.calcite.rel.core.Join
-
estimateRowCount
public double estimateRowCount(org.apache.calcite.rel.metadata.RelMetadataQuery mq) - Specified by:
estimateRowCount
in interfaceorg.apache.calcite.rel.RelNode
- Overrides:
estimateRowCount
in classorg.apache.calcite.rel.core.Join
-
uniqueFieldNames
public static boolean uniqueFieldNames(org.apache.calcite.rel.type.RelDataType rowType) -
isUnique
-
getLeftKeys
- Specified by:
getLeftKeys
in interfaceDrillJoin
-
getRightKeys
- Specified by:
getRightKeys
in 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)
-