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
Modifier and TypeFieldDescriptionfinal ImmutableIntList
Deprecated.final ImmutableIntList
Deprecated.Fields inherited from class org.apache.calcite.rel.core.Join
condition, hints, joinInfo, joinType, variablesSet
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
-
Constructor Summary
ModifierConstructorDescriptionprotected
EquiJoin
(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, Set<CorrelationId> variablesSet, JoinRelType joinType) Deprecated.Creates an EquiJoin.protected
EquiJoin
(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, ImmutableIntList leftKeys, ImmutableIntList rightKeys, Set<CorrelationId> variablesSet, JoinRelType joinType) Deprecated.protected
EquiJoin
(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, 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.calcite.rel.hint.Hintable
attachHints, withHints
Methods 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.nonEquiConditions
is an empty list.