public abstract class RepeatUnion extends BiRel
This operation is executed as follows:
NOTE: The current API is experimental and subject to change without notice.
RelNode.Context| Modifier and Type | Field and Description |
|---|---|
boolean |
all
Whether duplicates are considered.
|
int |
iterationLimit
Maximum number of times to repeat the iterative relational expression;
negative value means no limit, 0 means only seed will be evaluated.
|
protected @Nullable RelOptTable |
transientTable
Transient table where repeat union's intermediate results will be stored (optional).
|
digest, id, rowType, traitSet| Modifier | Constructor and Description |
|---|---|
protected |
RepeatUnion(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode seed,
RelNode iterative,
boolean all,
int iterationLimit,
@Nullable RelOptTable transientTable) |
| Modifier and Type | Method and Description |
|---|---|
protected RelDataType |
deriveRowType() |
double |
estimateRowCount(RelMetadataQuery mq)
Returns an estimate of the number of rows this relational expression will
return.
|
RelWriter |
explainTerms(RelWriter pw)
Describes the inputs and attributes of this relational expression.
|
RelNode |
getIterativeRel() |
RelNode |
getSeedRel() |
@Nullable RelOptTable |
getTransientTable() |
childrenAccept, getInputs, getLeft, getRight, replaceInputaccept, accept, collectVariablesSet, collectVariablesUsed, computeSelfCost, copy, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, sole, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitexplain, fieldIsNullablepublic final boolean all
public final int iterationLimit
protected final @Nullable RelOptTable transientTable
protected RepeatUnion(RelOptCluster cluster, RelTraitSet traitSet, RelNode seed, RelNode iterative, boolean all, int iterationLimit, @Nullable RelOptTable transientTable)
public double estimateRowCount(RelMetadataQuery mq)
RelNodeNOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
RelMetadataQuery.getRowCount(org.apache.calcite.rel.RelNode), which gives plugins a chance to
override the rel's default ideas about row count.
estimateRowCount in interface RelNodeestimateRowCount in class AbstractRelNodemq - Metadata querypublic RelWriter explainTerms(RelWriter pw)
AbstractRelNodesuper.explainTerms, then call the
RelWriter.input(String, RelNode)
and
RelWriter.item(String, Object)
methods for each input and attribute.explainTerms in class BiRelpw - Plan writerpublic RelNode getSeedRel()
public RelNode getIterativeRel()
public @Nullable RelOptTable getTransientTable()
protected RelDataType deriveRowType()
deriveRowType in class AbstractRelNodeCopyright © 2012-2022 Apache Software Foundation. All Rights Reserved.