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| Constructor and Description |
|---|
EquiJoin(RelOptCluster cluster,
RelTraitSet traits,
RelNode left,
RelNode right,
RexNode condition,
ImmutableIntList leftKeys,
ImmutableIntList rightKeys,
JoinRelType joinType,
Set<String> variablesStopped)
Deprecated.
|
EquiJoin(RelOptCluster cluster,
RelTraitSet traits,
RelNode left,
RelNode right,
RexNode condition,
ImmutableIntList leftKeys,
ImmutableIntList rightKeys,
Set<CorrelationId> variablesSet,
JoinRelType joinType)
Deprecated.
|
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, withHintspublic final ImmutableIntList leftKeys
public final ImmutableIntList rightKeys
public EquiJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, Set<CorrelationId> variablesSet, JoinRelType joinType)
@Deprecated public EquiJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, ImmutableIntList leftKeys, ImmutableIntList rightKeys, Set<CorrelationId> variablesSet, JoinRelType joinType)
@Deprecated public 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-2020 Apache Software Foundation. All Rights Reserved.