public class Uncollect extends SingleRel
The input may have multiple columns, but each must be a multiset or
array. If withOrdinality, the output contains an extra
ORDINALITY column.
Like its inverse operation Collect, Uncollect is generally
invoked in a nested loop, driven by
LogicalCorrelate or similar.
RelNode.Context| Modifier and Type | Field and Description |
|---|---|
boolean |
withOrdinality |
digest, id, rowType, traitSet| Constructor and Description |
|---|
Uncollect(RelInput input)
Creates an Uncollect by parsing serialized output.
|
Uncollect(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode child)
Deprecated.
|
Uncollect(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode input,
boolean withOrdinality)
Creates an Uncollect.
|
| Modifier and Type | Method and Description |
|---|---|
RelNode |
copy(RelTraitSet traitSet,
List<RelNode> inputs)
Creates a copy of this relational expression, perhaps changing traits and
inputs.
|
RelNode |
copy(RelTraitSet traitSet,
RelNode input) |
static Uncollect |
create(RelTraitSet traitSet,
RelNode input,
boolean withOrdinality)
Creates an Uncollect.
|
protected RelDataType |
deriveRowType() |
static RelDataType |
deriveUncollectRowType(RelNode rel,
boolean withOrdinality)
Returns the row type returned by applying the 'UNNEST' operation to a
relational expression.
|
RelWriter |
explainTerms(RelWriter pw)
Describes the inputs and attributes of this relational expression.
|
childrenAccept, estimateRowCount, getInput, getInputs, replaceInputaccept, accept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, computeSelfCost, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, sole, toString@Deprecated public Uncollect(RelOptCluster cluster, RelTraitSet traitSet, RelNode child)
public Uncollect(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, boolean withOrdinality)
Use create(org.apache.calcite.plan.RelTraitSet, org.apache.calcite.rel.RelNode, boolean) unless you know what you're doing.
public Uncollect(RelInput input)
public static Uncollect create(RelTraitSet traitSet, RelNode input, boolean withOrdinality)
Each field of the input relational expression must be an array or multiset.
traitSet - Trait setinput - Input relational expressionwithOrdinality - Whether output should contain an ORDINALITY columnpublic RelWriter explainTerms(RelWriter pw)
AbstractRelNodesuper.explainTerms, then call the
RelWriterImpl.input(String, RelNode)
and
RelWriterImpl.item(String, Object)
methods for each input and attribute.explainTerms in class SingleRelpw - Plan writerpublic final RelNode copy(RelTraitSet traitSet, List<RelNode> inputs)
RelNodeSub-classes with other important attributes are encouraged to create variants of this method with more parameters.
copy in interface RelNodecopy in class AbstractRelNodetraitSet - Trait setinputs - Inputspublic RelNode copy(RelTraitSet traitSet, RelNode input)
protected RelDataType deriveRowType()
deriveRowType in class SingleRelpublic static RelDataType deriveUncollectRowType(RelNode rel, boolean withOrdinality)
Each column in the relational expression must be a multiset of structs
or an array. The return type is the type of that column, plus an ORDINALITY
column if withOrdinality.
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.