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
FieldsFields inherited from class org.apache.drill.exec.planner.common.DrillUnnestRelBase
IMPLICIT_COLUMN, refFields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSetFields inherited from interface org.apache.drill.exec.planner.physical.Prel
DRILL_PHYSICAL -
Constructor Summary
ConstructorsConstructorDescriptionUnnestPrel(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.RelNodeaccept(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, getRefMethods 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, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface org.apache.drill.exec.planner.physical.LeafPrel
iterator, needsFinalColumnReorderingMethods 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, replaceInputMethods 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:
getPhysicalOperatorin interfacePrel- Throws:
IOException
-
getSupportedEncodings
Description copied from interface:PrelSupported 'encodings' of a Prel indicates what are the acceptable modes of SelectionVector of its child Prel- Specified by:
getSupportedEncodingsin interfacePrel
-
getEncoding
Description copied from interface:PrelA Prel's own SelectionVector mode - i.e whether it generates an SV2, SV4 or None- Specified by:
getEncodingin interfacePrel
-
getParentClass
-
accept
public org.apache.calcite.rel.RelNode accept(org.apache.calcite.rex.RexShuttle shuttle) - Specified by:
acceptin interfaceorg.apache.calcite.rel.RelNode- Overrides:
acceptin classorg.apache.calcite.rel.AbstractRelNode
-
prepareForLateralUnnestPipeline
Description copied from interface:PrelIf 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:
prepareForLateralUnnestPipelinein interfacePrel
-