public class RowKeyJoinRel extends DrillJoinRel implements DrillRel
EQUALITY_CONDITION
filterNulls, leftKeys, rightKeys
condition, joinInfo, joinType, variablesSet
DRILL_LOGICAL
Constructor and Description |
---|
RowKeyJoinRel(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) |
RowKeyJoinRel(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,
boolean isSemiJoin) |
RowKeyJoinRel(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) |
RowKeyJoinRel(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) |
Modifier and Type | Method and Description |
---|---|
static RowKeyJoinRel |
convert(Join join,
ConversionContext context) |
RowKeyJoinRel |
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) |
org.apache.calcite.rel.type.RelDataType |
deriveRowType() |
LogicalOperator |
implement(DrillImplementor implementor) |
boolean |
isSemiJoin()
Returns whether this RowKeyJoin represents a
org.apache.calcite.rel.core.SemiJoin |
boolean |
isValid(org.apache.calcite.util.Litmus litmus,
org.apache.calcite.rel.RelNode.Context context)
The parent method relies the class being an instance of
org.apache.calcite.rel.core.SemiJoin
in deciding row-type validity. |
getJoinCondition, getJoinInputs, implementInput
computeCartesianJoinCost, computeHashJoinCost, computeHashJoinCostWithRowCntKeySize, computeLogicalJoinCost, computeSelfCost, estimateRowCount, getLeftKeys, getRightKeys, isUnique, uniqueFieldNames
accept, analyzeCondition, copy, createJoinType, deriveJoinRowType, estimateJoinedRows, explainTerms, getChildExps, getCondition, getJoinType, getSystemFieldList, getVariablesSet, isSemiJoinDone
childrenAccept, getInputs, getLeft, getRight, replaceInput
accept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, equals, explain, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesStopped, hashCode, isDistinct, isKey, isValid, metadata, onRegister, recomputeDigest, register, sole, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, computeSelfCost, copy, estimateRowCount, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, metadata, onRegister, recomputeDigest, register, replaceInput
getCluster, getDescription, getDigest, getId, getTraitSet
getCondition, getJoinType, getLeft, getRight
public RowKeyJoinRel(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)
public RowKeyJoinRel(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, boolean isSemiJoin)
public RowKeyJoinRel(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)
public RowKeyJoinRel(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
org.apache.calcite.rel.InvalidRelException
public RowKeyJoinRel 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)
copy
in class DrillJoinRel
public LogicalOperator implement(DrillImplementor implementor)
implement
in interface DrillRel
implement
in class DrillJoinRel
public boolean isSemiJoin()
org.apache.calcite.rel.core.SemiJoin
isSemiJoin
in interface DrillJoin
isSemiJoin
in class org.apache.calcite.rel.core.Join
org.apache.calcite.rel.core.SemiJoin
, false otherwise.public org.apache.calcite.rel.type.RelDataType deriveRowType()
deriveRowType
in class org.apache.calcite.rel.core.Join
public static RowKeyJoinRel convert(Join join, ConversionContext context) throws org.apache.calcite.rel.InvalidRelException
org.apache.calcite.rel.InvalidRelException
public boolean isValid(org.apache.calcite.util.Litmus litmus, org.apache.calcite.rel.RelNode.Context context)
org.apache.calcite.rel.core.SemiJoin
in deciding row-type validity. We override this method to account for the RowKeyJoinRel logical rel
representing both regular and semi-joinsisValid
in interface org.apache.calcite.rel.RelNode
isValid
in class org.apache.calcite.rel.core.Join
Copyright © 1970 The Apache Software Foundation. All rights reserved.