Class UnnestPrel
java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.drill.exec.planner.common.DrillUnnestRelBase
org.apache.drill.exec.planner.physical.UnnestPrel
- All Implemented Interfaces:
Cloneable
,Iterable<Prel>
,org.apache.calcite.plan.RelOptNode
,org.apache.calcite.rel.RelNode
,DrillRelNode
,LeafPrel
,Prel
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
org.apache.calcite.rel.RelNode.Context
-
Field Summary
Fields inherited from class org.apache.drill.exec.planner.common.DrillUnnestRelBase
IMPLICIT_COLUMN, ref
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
Fields inherited from interface org.apache.drill.exec.planner.physical.Prel
DRILL_PHYSICAL
-
Constructor Summary
ConstructorDescriptionUnnestPrel
(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.type.RelDataType rowType, org.apache.calcite.rex.RexNode ref) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.calcite.rel.RelNode
accept
(org.apache.calcite.rex.RexShuttle shuttle) <T,
X, E extends Throwable>
Taccept
(PrelVisitor<T, X, E> visitor, X value) A Prel's own SelectionVector mode - i.e whether it generates an SV2, SV4 or NoneClass<?>
getPhysicalOperator
(PhysicalPlanCreator creator) Supported 'encodings' of a Prel indicates what are the acceptable modes of SelectionVector of its child PrelprepareForLateralUnnestPipeline
(List<org.apache.calcite.rel.RelNode> children) If the operator is in Lateral/Unnest pipeline, then it generates a new operator which knows how to process the rows accordingly during execution.Methods inherited from class org.apache.drill.exec.planner.common.DrillUnnestRelBase
computeSelfCost, getRef
Methods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, childrenAccept, collectVariablesSet, collectVariablesUsed, copy, deepEquals, deepHashCode, deriveRowType, equals, estimateRowCount, explain, explainTerms, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, sole, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface org.apache.drill.exec.planner.physical.LeafPrel
iterator, needsFinalColumnReordering
Methods inherited from interface org.apache.calcite.rel.RelNode
accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, copy, deepEquals, deepHashCode, estimateRowCount, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput
Methods inherited from interface org.apache.calcite.plan.RelOptNode
getCluster, getDescription, getId, getTraitSet
-
Field Details
-
unnestPOP
-
-
Constructor Details
-
UnnestPrel
public UnnestPrel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.type.RelDataType rowType, org.apache.calcite.rex.RexNode ref)
-
-
Method Details
-
accept
-
getPhysicalOperator
- Specified by:
getPhysicalOperator
in interfacePrel
- Throws:
IOException
-
getSupportedEncodings
Description copied from interface:Prel
Supported 'encodings' of a Prel indicates what are the acceptable modes of SelectionVector of its child Prel- Specified by:
getSupportedEncodings
in interfacePrel
-
getEncoding
Description copied from interface:Prel
A Prel's own SelectionVector mode - i.e whether it generates an SV2, SV4 or None- Specified by:
getEncoding
in interfacePrel
-
getParentClass
-
accept
public org.apache.calcite.rel.RelNode accept(org.apache.calcite.rex.RexShuttle shuttle) - Specified by:
accept
in interfaceorg.apache.calcite.rel.RelNode
- Overrides:
accept
in classorg.apache.calcite.rel.AbstractRelNode
-
prepareForLateralUnnestPipeline
Description copied from interface:Prel
If the operator is in Lateral/Unnest pipeline, then it generates a new operator which knows how to process the rows accordingly during execution. eg: TopNPrel -> SortPrel and LimitPrel Other operators like FilterPrel, ProjectPrel etc will add an implicit row id to the output.- Specified by:
prepareForLateralUnnestPipeline
in interfacePrel
-