Package org.apache.calcite.rel.logical
Class LogicalCorrelate
- java.lang.Object
-
- org.apache.calcite.rel.AbstractRelNode
-
- org.apache.calcite.rel.BiRel
-
- org.apache.calcite.rel.core.Correlate
-
- org.apache.calcite.rel.logical.LogicalCorrelate
-
- All Implemented Interfaces:
java.lang.Cloneable
,RelOptNode
,RelNode
public final class LogicalCorrelate extends Correlate
A relational operator that performs nested-loop joins.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.
- See Also:
CorrelationId
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
RelNode.Context
-
-
Field Summary
-
Fields inherited from class org.apache.calcite.rel.core.Correlate
correlationId, joinType, requiredColumns
-
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
-
-
Constructor Summary
Constructors Constructor Description LogicalCorrelate(RelOptCluster cluster, RelTraitSet traitSet, RelNode left, RelNode right, CorrelationId correlationId, ImmutableBitSet requiredColumns, SemiJoinType joinType)
Creates a LogicalCorrelate.LogicalCorrelate(RelOptCluster cluster, RelNode left, RelNode right, CorrelationId correlationId, ImmutableBitSet requiredColumns, SemiJoinType joinType)
Deprecated.LogicalCorrelate(RelInput input)
Creates a LogicalCorrelate by parsing serialized output.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RelNode
accept(RelShuttle shuttle)
Accepts a visit from a shuttle.LogicalCorrelate
copy(RelTraitSet traitSet, RelNode left, RelNode right, CorrelationId correlationId, ImmutableBitSet requiredColumns, SemiJoinType joinType)
static LogicalCorrelate
create(RelNode left, RelNode right, CorrelationId correlationId, ImmutableBitSet requiredColumns, SemiJoinType joinType)
Creates a LogicalCorrelate.-
Methods inherited from class org.apache.calcite.rel.core.Correlate
computeSelfCost, copy, deriveRowType, explainTerms, getCorrelationId, getCorrelVariable, getJoinType, getRequiredColumns, getVariablesSet, isValid
-
Methods inherited from class org.apache.calcite.rel.BiRel
childrenAccept, getInputs, getLeft, getRight, replaceInput
-
Methods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, estimateRowCount, explain, getChildExps, getCluster, getCollationList, getConvention, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesStopped, isDistinct, isKey, isValid, metadata, onRegister, recomputeDigest, register, sole, toString
-
-
-
-
Constructor Detail
-
LogicalCorrelate
public LogicalCorrelate(RelOptCluster cluster, RelTraitSet traitSet, RelNode left, RelNode right, CorrelationId correlationId, ImmutableBitSet requiredColumns, SemiJoinType joinType)
Creates a LogicalCorrelate.- Parameters:
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
-
LogicalCorrelate
@Deprecated public LogicalCorrelate(RelOptCluster cluster, RelNode left, RelNode right, CorrelationId correlationId, ImmutableBitSet requiredColumns, SemiJoinType joinType)
Deprecated.
-
LogicalCorrelate
public LogicalCorrelate(RelInput input)
Creates a LogicalCorrelate by parsing serialized output.
-
-
Method Detail
-
create
public static LogicalCorrelate create(RelNode left, RelNode right, CorrelationId correlationId, ImmutableBitSet requiredColumns, SemiJoinType joinType)
Creates a LogicalCorrelate.
-
copy
public LogicalCorrelate copy(RelTraitSet traitSet, RelNode left, RelNode right, CorrelationId correlationId, ImmutableBitSet requiredColumns, SemiJoinType joinType)
-
accept
public RelNode accept(RelShuttle shuttle)
Description copied from interface:RelNode
Accepts a visit from a shuttle.- Specified by:
accept
in interfaceRelNode
- Overrides:
accept
in classAbstractRelNode
- Parameters:
shuttle
- Shuttle- Returns:
- A copy of this node incorporating changes made by the shuttle to this node's children
-
-