Interface Prel
- All Superinterfaces:
Cloneable
,DrillRelNode
,Iterable<Prel>
,org.apache.calcite.rel.RelNode
,org.apache.calcite.plan.RelOptNode
- All Known Subinterfaces:
DrillScanPrel
,LeafPrel
- All Known Implementing Classes:
AggPrelBase
,BroadcastExchangePrel
,ComplexToJsonPrel
,DirectScanPrel
,EnumerableIntermediatePrel
,EnumerablePrel
,ExchangePrel
,FilterPrel
,FlattenPrel
,HashAggPrel
,HashJoinPrel
,HashToMergeExchangePrel
,HashToRandomExchangePrel
,JdbcIntermediatePrel
,JdbcPrel
,JoinPrel
,LateralJoinPrel
,LimitPrel
,MergeJoinPrel
,MetadataControllerPrel
,MetadataHandlerPrel
,MetadataHashAggPrel
,MetadataStreamAggPrel
,NestedLoopJoinPrel
,OrderedMuxExchangePrel
,OrderedPartitionExchangePrel
,PhoenixIntermediatePrel
,PhoenixPrel
,PluginIntermediatePrel
,PluginPrel
,ProducerConsumerPrel
,ProjectAllowDupPrel
,ProjectPrel
,RangePartitionExchangePrel
,RowKeyJoinPrel
,RuntimeFilterPrel
,ScanPrel
,ScreenPrel
,SelectionVectorRemoverPrel
,SetOpPrel
,SingleMergeExchangePrel
,SinglePrel
,SortPrel
,StatsAggPrel
,StatsMergePrel
,StreamAggPrel
,TableModifyPrel
,TopNPrel
,UnionAllPrel
,UnionDistinctPrel
,UnionExchangePrel
,UnionPrel
,UnnestPrel
,UnorderedDeMuxExchangePrel
,UnorderedMuxExchangePrel
,UnpivotMapsPrel
,ValuesPrel
,WindowPrel
,WriterPrel
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
org.apache.calcite.rel.RelNode.Context
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescription<T,
X, E extends Throwable>
Taccept
(PrelVisitor<T, X, E> logicalVisitor, X value) A Prel's own SelectionVector mode - i.e whether it generates an SV2, SV4 or NonegetPhysicalOperator
(PhysicalPlanCreator creator) Supported 'encodings' of a Prel indicates what are the acceptable modes of SelectionVector of its child Prelboolean
default Prel
prepareForLateralUnnestPipeline
(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 interface java.lang.Iterable
forEach, iterator, spliterator
Methods inherited from interface org.apache.calcite.rel.RelNode
accept, 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
-
DRILL_PHYSICAL
static final org.apache.calcite.plan.Convention DRILL_PHYSICAL
-
-
Method Details
-
getPhysicalOperator
- Throws:
IOException
-
accept
- Throws:
E extends Throwable
-
getSupportedEncodings
BatchSchema.SelectionVectorMode[] getSupportedEncodings()Supported 'encodings' of a Prel indicates what are the acceptable modes of SelectionVector of its child Prel -
getEncoding
BatchSchema.SelectionVectorMode getEncoding()A Prel's own SelectionVector mode - i.e whether it generates an SV2, SV4 or None -
needsFinalColumnReordering
boolean needsFinalColumnReordering() -
prepareForLateralUnnestPipeline
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.
-