public final class LogicalCorrelate extends Correlate
Temporarily copy from calcite to cherry-pick [CALCITE-5107] and will be removed when upgrade the latest calcite.
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.
CorrelationId
correlationId, hints, joinType, requiredColumns
Constructor and Description |
---|
LogicalCorrelate(org.apache.calcite.rel.RelInput input)
Creates a LogicalCorrelate by parsing serialized output.
|
LogicalCorrelate(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traitSet,
List<org.apache.calcite.rel.hint.RelHint> hints,
org.apache.calcite.rel.RelNode left,
org.apache.calcite.rel.RelNode right,
org.apache.calcite.rel.core.CorrelationId correlationId,
org.apache.calcite.util.ImmutableBitSet requiredColumns,
org.apache.calcite.rel.core.JoinRelType joinType)
Creates a LogicalCorrelate.
|
LogicalCorrelate(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traitSet,
org.apache.calcite.rel.RelNode left,
org.apache.calcite.rel.RelNode right,
org.apache.calcite.rel.core.CorrelationId correlationId,
org.apache.calcite.util.ImmutableBitSet requiredColumns,
org.apache.calcite.rel.core.JoinRelType joinType)
Creates a LogicalCorrelate.
|
Modifier and Type | Method and Description |
---|---|
org.apache.calcite.rel.RelNode |
accept(org.apache.calcite.rel.RelShuttle shuttle) |
LogicalCorrelate |
copy(org.apache.calcite.plan.RelTraitSet traitSet,
org.apache.calcite.rel.RelNode left,
org.apache.calcite.rel.RelNode right,
org.apache.calcite.rel.core.CorrelationId correlationId,
org.apache.calcite.util.ImmutableBitSet requiredColumns,
org.apache.calcite.rel.core.JoinRelType joinType) |
static LogicalCorrelate |
create(org.apache.calcite.rel.RelNode left,
org.apache.calcite.rel.RelNode right,
org.apache.calcite.rel.core.CorrelationId correlationId,
org.apache.calcite.util.ImmutableBitSet requiredColumns,
org.apache.calcite.rel.core.JoinRelType joinType)
Creates a LogicalCorrelate.
|
static LogicalCorrelate |
create(org.apache.calcite.rel.RelNode left,
org.apache.calcite.rel.RelNode right,
List<org.apache.calcite.rel.hint.RelHint> hints,
org.apache.calcite.rel.core.CorrelationId correlationId,
org.apache.calcite.util.ImmutableBitSet requiredColumns,
org.apache.calcite.rel.core.JoinRelType joinType)
Creates a LogicalCorrelate.
|
org.apache.calcite.rel.RelNode |
withHints(List<org.apache.calcite.rel.hint.RelHint> hintList) |
computeSelfCost, copy, deriveRowType, estimateRowCount, explainTerms, getCorrelationId, getCorrelVariable, getHints, getJoinType, getRequiredColumns, getVariablesSet, isValid
childrenAccept, getInputs, getLeft, getRight, replaceInput
accept, 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, toString
public LogicalCorrelate(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, List<org.apache.calcite.rel.hint.RelHint> hints, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.core.CorrelationId correlationId, org.apache.calcite.util.ImmutableBitSet requiredColumns, org.apache.calcite.rel.core.JoinRelType joinType)
cluster
- cluster this relational expression belongs tohints
- hints for this nodeleft
- left input relational expressionright
- right input relational expressioncorrelationId
- variable name for the row of left inputrequiredColumns
- Required columnsjoinType
- join typepublic LogicalCorrelate(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.core.CorrelationId correlationId, org.apache.calcite.util.ImmutableBitSet requiredColumns, org.apache.calcite.rel.core.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 typepublic LogicalCorrelate(org.apache.calcite.rel.RelInput input)
public static LogicalCorrelate create(org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, List<org.apache.calcite.rel.hint.RelHint> hints, org.apache.calcite.rel.core.CorrelationId correlationId, org.apache.calcite.util.ImmutableBitSet requiredColumns, org.apache.calcite.rel.core.JoinRelType joinType)
public static LogicalCorrelate create(org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.core.CorrelationId correlationId, org.apache.calcite.util.ImmutableBitSet requiredColumns, org.apache.calcite.rel.core.JoinRelType joinType)
public LogicalCorrelate copy(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.core.CorrelationId correlationId, org.apache.calcite.util.ImmutableBitSet requiredColumns, org.apache.calcite.rel.core.JoinRelType joinType)
public org.apache.calcite.rel.RelNode accept(org.apache.calcite.rel.RelShuttle shuttle)
accept
in interface org.apache.calcite.rel.RelNode
accept
in class org.apache.calcite.rel.AbstractRelNode
public org.apache.calcite.rel.RelNode withHints(List<org.apache.calcite.rel.hint.RelHint> hintList)
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.