public class Collect extends SingleRel
Rules:
net.sf.farrago.fennel.rel.FarragoMultisetSplitterRule
creates a Collect from a call to
SqlMultisetValueConstructor
or to
SqlMultisetQueryConstructor
.RelNode.Context
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
fieldName |
digest, id, rowType, traitSet
Constructor and Description |
---|
Collect(RelInput input)
Creates a Collect by parsing serialized output.
|
Collect(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode child,
java.lang.String fieldName)
Creates a Collect.
|
Modifier and Type | Method and Description |
---|---|
RelNode |
copy(RelTraitSet traitSet,
java.util.List<RelNode> inputs)
Creates a copy of this relational expression, perhaps changing traits and
inputs.
|
RelNode |
copy(RelTraitSet traitSet,
RelNode input) |
static RelDataType |
deriveCollectRowType(SingleRel rel,
java.lang.String fieldName)
Derives the output type of a collect relational expression.
|
protected RelDataType |
deriveRowType() |
RelWriter |
explainTerms(RelWriter pw)
Describes the inputs and attributes of this relational expression.
|
java.lang.String |
getFieldName()
Returns the name of the sole output field.
|
childrenAccept, estimateRowCount, getInput, getInputs, replaceInput
accept, 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
public Collect(RelOptCluster cluster, RelTraitSet traitSet, RelNode child, java.lang.String fieldName)
cluster
- Clusterchild
- Child relational expressionfieldName
- Name of the sole output fieldpublic Collect(RelInput input)
public final RelNode copy(RelTraitSet traitSet, java.util.List<RelNode> inputs)
RelNode
Sub-classes with other important attributes are encouraged to create variants of this method with more parameters.
copy
in interface RelNode
copy
in class AbstractRelNode
traitSet
- Trait setinputs
- Inputspublic RelNode copy(RelTraitSet traitSet, RelNode input)
public RelWriter explainTerms(RelWriter pw)
AbstractRelNode
super.explainTerms
, then call the
RelWriter.input(String, RelNode)
and
RelWriterImpl.item(String, Object)
methods for each input and attribute.explainTerms
in class SingleRel
pw
- Plan writerpublic java.lang.String getFieldName()
protected RelDataType deriveRowType()
deriveRowType
in class SingleRel
public static RelDataType deriveCollectRowType(SingleRel rel, java.lang.String fieldName)
rel
- relational expressionfieldName
- name of sole output fieldCopyright © 2012–2019 The Apache Software Foundation. All rights reserved.