public final class LogicalCorrelate extends Correlate
It behaves like a kind of Join,
but works by setting variables in its environment and restarting its
right-hand input.
A LogicalCorrelate is used to represent a correlated query. One implementation strategy is to de-correlate the expression.
CorrelationIdRelNode.ContextcorrelationId, hints, joinType, requiredColumnsdigest, id, rowType, traitSet| Constructor and Description |
|---|
LogicalCorrelate(RelInput input)
Creates a LogicalCorrelate by parsing serialized output.
|
LogicalCorrelate(RelOptCluster cluster,
RelTraitSet traitSet,
List<RelHint> hints,
RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
JoinRelType joinType)
Creates a LogicalCorrelate.
|
LogicalCorrelate(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
JoinRelType joinType)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
RelNode |
accept(RelShuttle shuttle)
Accepts a visit from a shuttle.
|
LogicalCorrelate |
copy(RelTraitSet traitSet,
RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
JoinRelType joinType) |
static LogicalCorrelate |
create(RelNode left,
RelNode right,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
JoinRelType joinType)
Deprecated.
|
static LogicalCorrelate |
create(RelNode left,
RelNode right,
List<RelHint> hints,
CorrelationId correlationId,
ImmutableBitSet requiredColumns,
JoinRelType joinType)
Creates a LogicalCorrelate.
|
RelNode |
withHints(List<RelHint> hintList)
Returns a new relational expression with the specified hints
hintList. |
computeSelfCost, copy, deriveRowType, estimateRowCount, explainTerms, getCorrelationId, getCorrelVariable, getHints, getJoinType, getRequiredColumns, getVariablesSet, isValidchildrenAccept, getInputs, getLeft, getRight, replaceInputaccept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, hashCode, isEnforcer, metadata, onRegister, recomputeDigest, register, sole, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitattachHintsexplain, fieldIsNullablepublic LogicalCorrelate(RelOptCluster cluster, RelTraitSet traitSet, List<RelHint> hints, RelNode left, RelNode right, CorrelationId correlationId, ImmutableBitSet requiredColumns, JoinRelType joinType)
cluster - cluster this relational expression belongs toleft - left input relational expressionright - right input relational expressioncorrelationId - variable name for the row of left inputrequiredColumns - Required columnsjoinType - join type@Deprecated public LogicalCorrelate(RelOptCluster cluster, RelTraitSet traitSet, RelNode left, RelNode right, CorrelationId correlationId, ImmutableBitSet requiredColumns, JoinRelType joinType)
public LogicalCorrelate(RelInput input)
public static LogicalCorrelate create(RelNode left, RelNode right, List<RelHint> hints, CorrelationId correlationId, ImmutableBitSet requiredColumns, JoinRelType joinType)
@Deprecated public static LogicalCorrelate create(RelNode left, RelNode right, CorrelationId correlationId, ImmutableBitSet requiredColumns, JoinRelType joinType)
public LogicalCorrelate copy(RelTraitSet traitSet, RelNode left, RelNode right, CorrelationId correlationId, ImmutableBitSet requiredColumns, JoinRelType joinType)
public RelNode accept(RelShuttle shuttle)
RelNodeaccept in interface RelNodeaccept in class AbstractRelNodeshuttle - Shuttlepublic RelNode withHints(List<RelHint> hintList)
HintablehintList.
This method should be overridden by every logical node that supports hint. It is only for internal use during decorrelation.
Sub-class should return a new copy of the relational expression.
The default implementation returns the relational expression directly only because not every kind of relational expression supports hints.
Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.