Join. It will be evident that it is an equi-join when its
JoinInfo.nonEquiConditions is an empty list.@Deprecated public abstract class EquiJoin extends Join
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.
RelNode.Context| Modifier and Type | Field and Description |
|---|---|
ImmutableIntList |
leftKeys
Deprecated.
|
ImmutableIntList |
rightKeys
Deprecated.
|
condition, hints, joinInfo, joinType, variablesSetdigest, id, rowType, traitSet| Modifier | Constructor and Description |
|---|---|
protected |
EquiJoin(RelOptCluster cluster,
RelTraitSet traits,
RelNode left,
RelNode right,
RexNode condition,
ImmutableIntList leftKeys,
ImmutableIntList rightKeys,
JoinRelType joinType,
Set<String> variablesStopped)
Deprecated.
|
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,
Set<CorrelationId> variablesSet,
JoinRelType joinType)
Deprecated.
Creates an EquiJoin.
|
| Modifier and Type | Method and Description |
|---|---|
ImmutableIntList |
getLeftKeys()
Deprecated.
|
ImmutableIntList |
getRightKeys()
Deprecated.
|
accept, analyzeCondition, computeSelfCost, copy, copy, createJoinType, deepEquals0, deepHashCode0, deriveJoinRowType, deriveRowType, estimateJoinedRows, estimateRowCount, explainTerms, getCondition, getHints, getJoinType, getSystemFieldList, getVariablesSet, isSemiJoin, isSemiJoinDone, isValidchildrenAccept, getInputs, getLeft, getRight, replaceInputaccept, 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, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitattachHints, withHintsexplain, fieldIsNullablepublic final ImmutableIntList leftKeys
public final ImmutableIntList rightKeys
protected EquiJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, Set<CorrelationId> variablesSet, JoinRelType joinType)
@Deprecated 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)
public ImmutableIntList getLeftKeys()
public ImmutableIntList getRightKeys()
Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.