Package org.apache.calcite.rel.core
Class JoinInfo
java.lang.Object
org.apache.calcite.rel.core.JoinInfo
An analyzed join condition.
It is useful for the many algorithms that care whether a join has an equi-join condition.
You can create one using of(org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode, org.apache.calcite.rex.RexNode)
, or call
Join.analyzeCondition()
; many kinds of join cache their
join info, especially those that are equi-joins.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionfinal ImmutableIntList
final com.google.common.collect.ImmutableList<RexNode>
final ImmutableIntList
-
Constructor Summary
ModifierConstructorDescriptionprotected
JoinInfo
(ImmutableIntList leftKeys, ImmutableIntList rightKeys, com.google.common.collect.ImmutableList<RexNode> nonEquiConditions) Creates a JoinInfo. -
Method Summary
Modifier and TypeMethodDescriptiongetEquiCondition
(RelNode left, RelNode right, RexBuilder rexBuilder) getRemaining
(RexBuilder rexBuilder) Deprecated.boolean
isEqui()
Returns whether this is an equi-join.keys()
leftSet()
static JoinInfo
Creates aJoinInfo
by analyzing a condition.static JoinInfo
of
(ImmutableIntList leftKeys, ImmutableIntList rightKeys) Creates an equi-join.pairs()
Returns a list of (left, right) key ordinals.rightSet()
-
Field Details
-
leftKeys
-
rightKeys
-
nonEquiConditions
-
-
Constructor Details
-
JoinInfo
protected JoinInfo(ImmutableIntList leftKeys, ImmutableIntList rightKeys, com.google.common.collect.ImmutableList<RexNode> nonEquiConditions) Creates a JoinInfo.
-
-
Method Details
-
of
Creates aJoinInfo
by analyzing a condition. -
of
Creates an equi-join. -
isEqui
public boolean isEqui()Returns whether this is an equi-join. -
pairs
Returns a list of (left, right) key ordinals. -
leftSet
-
rightSet
-
getRemaining
Deprecated. -
getEquiCondition
-
keys
-