Package org.apache.calcite.rel.core
Class EquiJoin
java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.BiRel
org.apache.calcite.rel.core.Join
org.apache.calcite.rel.core.EquiJoin
- All Implemented Interfaces:
Cloneable,RelOptNode,Hintable,RelNode
- Direct Known Subclasses:
EquiJoin
Deprecated.
Base class for any join whose condition is based on column equality.
For most of the cases, JoinInfo.isEqui() can already decide
if the join condition is based on column equality.
EquiJoin is an abstract class for inheritance of Calcite enumerable
joins and join implementation of other system. You should inherit the EquiJoin
if your join implementation does not support non-equi join conditions. Calcite would
eliminate some optimize logic for EquiJoin in some planning rules.
e.g. FilterJoinRule would not push non-equi
join conditions of the above filter into the join underneath if it is an EquiJoin.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
RelNode.Context -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal ImmutableIntListDeprecated.final ImmutableIntListDeprecated.Fields inherited from class org.apache.calcite.rel.core.Join
condition, hints, joinInfo, joinType, variablesSetFields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedEquiJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, Set<CorrelationId> variablesSet, JoinRelType joinType) Deprecated.Creates an EquiJoin.protectedEquiJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, ImmutableIntList leftKeys, ImmutableIntList rightKeys, Set<CorrelationId> variablesSet, JoinRelType joinType) Deprecated.protectedEquiJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, ImmutableIntList leftKeys, ImmutableIntList rightKeys, JoinRelType joinType, Set<String> variablesStopped) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionDeprecated.Deprecated.Methods inherited from class org.apache.calcite.rel.core.Join
accept, analyzeCondition, computeSelfCost, copy, copy, createJoinType, deepEquals0, deepHashCode0, deriveJoinRowType, deriveRowType, estimateJoinedRows, estimateRowCount, 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.calcite.rel.hint.Hintable
attachHints, withHintsMethods inherited from interface org.apache.calcite.rel.RelNode
explain, fieldIsNullable, stripped
-
Field Details
-
leftKeys
Deprecated. -
rightKeys
Deprecated.
-
-
Constructor Details
-
EquiJoin
protected EquiJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, Set<CorrelationId> variablesSet, JoinRelType joinType) Deprecated.Creates an EquiJoin. -
EquiJoin
@Deprecated protected EquiJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, ImmutableIntList leftKeys, ImmutableIntList rightKeys, Set<CorrelationId> variablesSet, JoinRelType joinType) Deprecated.Creates an EquiJoin. -
EquiJoin
@Deprecated protected EquiJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, ImmutableIntList leftKeys, ImmutableIntList rightKeys, JoinRelType joinType, Set<String> variablesStopped) Deprecated.
-
-
Method Details
-
getLeftKeys
Deprecated. -
getRightKeys
Deprecated.
-
Join. It will be evident that it is an equi-join when itsJoinInfo.nonEquiConditionsis an empty list.