- Direct Known Subclasses:
public abstract class Spool extends SingleRel
Relational expression that iterates over its input and, in addition to returning its results, will forward them into other consumers.
NOTE: The current API is experimental and subject to change without notice.
Nested Class SummaryModifier and TypeClassDescription
static enumEnumeration representing spool read / write type.
Field SummaryModifier and TypeFieldDescription
final Spool.TypeHow the spool consumes elements from its input.
final Spool.TypeHow the spool forwards elements to consumers.
Method SummaryModifier and TypeMethodDescription
final RelNodeCreates a copy of this relational expression, perhaps changing traits and inputs.
protected abstract SpoolDescribes the inputs and attributes of this relational expression.
Methods inherited from class org.apache.calcite.rel.SingleRel
childrenAccept, deriveRowType, estimateRowCount, getInput, getInputs, replaceInput
Methods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, accept, collectVariablesSet, collectVariablesUsed, computeSelfCost, 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, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
readTypepublic final Spool.Type readTypeHow the spool consumes elements from its input.
- EAGER: the spool consumes the elements from its input at once at the initial request;
- LAZY: the spool consumes the elements from its input one by one by request.
writeTypepublic final Spool.Type writeTypeHow the spool forwards elements to consumers.
- EAGER: the spool forwards each element as soon as it returns it;
- LAZY: the spool forwards all elements at once when it is done returning all of them.
copyDescription copied from interface:
RelNodeCreates a copy of this relational expression, perhaps changing traits and inputs.
Sub-classes with other important attributes are encouraged to create variants of this method with more parameters.
explainTermsDescription copied from class:
AbstractRelNodeDescribes the inputs and attributes of this relational expression. Each node should call
super.explainTerms, then call the
RelWriter.item(String, Object)methods for each input and attribute.