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

public interface Prel extends DrillRelNode, Iterable<Prel>
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode

    org.apache.calcite.rel.RelNode.Context
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.apache.calcite.plan.Convention
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <T, X, E extends Throwable>
    T
    accept(PrelVisitor<T,X,E> logicalVisitor, X value)
     
    A Prel's own SelectionVector mode - i.e whether it generates an SV2, SV4 or None
     
    Supported 'encodings' of a Prel indicates what are the acceptable modes of SelectionVector of its child Prel
    boolean
     
    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

      PhysicalOperator getPhysicalOperator(PhysicalPlanCreator creator) throws IOException
      Throws:
      IOException
    • accept

      <T, X, E extends Throwable> T accept(PrelVisitor<T,X,E> logicalVisitor, X value) throws E
      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

      A Prel's own SelectionVector mode - i.e whether it generates an SV2, SV4 or None
    • needsFinalColumnReordering

      boolean needsFinalColumnReordering()
    • prepareForLateralUnnestPipeline

      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. eg: TopNPrel -> SortPrel and LimitPrel Other operators like FilterPrel, ProjectPrel etc will add an implicit row id to the output.