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

public class UnnestPrel extends DrillUnnestRelBase implements LeafPrel
  • Nested Class Summary Link icon

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

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

    Fields
    Modifier and Type
    Field
    Description
    protected final UnnestPOP
     

    Fields inherited from class org.apache.drill.exec.planner.common.DrillUnnestRelBase Link icon

    IMPLICIT_COLUMN, ref

    Fields inherited from class org.apache.calcite.rel.AbstractRelNode Link icon

    digest, id, rowType, traitSet

    Fields inherited from interface org.apache.drill.exec.planner.physical.Prel Link icon

    DRILL_PHYSICAL
  • Constructor Summary Link icon

    Constructors
    Constructor
    Description
    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 Summary Link icon

    Modifier and Type
    Method
    Description
    org.apache.calcite.rel.RelNode
    accept(org.apache.calcite.rex.RexShuttle shuttle)
     
    <T, X, E extends Throwable>
    T
    accept(PrelVisitor<T,X,E> visitor, 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
    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 class org.apache.drill.exec.planner.common.DrillUnnestRelBase Link icon

    computeSelfCost, getRef

    Methods inherited from class org.apache.calcite.rel.AbstractRelNode Link icon

    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 Link icon

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.lang.Iterable Link icon

    forEach, spliterator

    Methods inherited from interface org.apache.drill.exec.planner.physical.LeafPrel Link icon

    iterator, needsFinalColumnReordering

    Methods inherited from interface org.apache.calcite.rel.RelNode Link icon

    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 Link icon

    getCluster, getDescription, getId, getTraitSet
  • Field Details Link icon

    • unnestPOP Link icon

      protected final UnnestPOP unnestPOP
  • Constructor Details Link icon

    • UnnestPrel Link icon

      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 Link icon

    • accept Link icon

      public <T, X, E extends Throwable> T accept(PrelVisitor<T,X,E> visitor, X value) throws E
      Specified by:
      accept in interface LeafPrel
      Specified by:
      accept in interface Prel
      Throws:
      E
    • getPhysicalOperator Link icon

      public PhysicalOperator getPhysicalOperator(PhysicalPlanCreator creator) throws IOException
      Specified by:
      getPhysicalOperator in interface Prel
      Throws:
      IOException
    • getSupportedEncodings Link icon

      public BatchSchema.SelectionVectorMode[] 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 interface Prel
    • getEncoding Link icon

      public BatchSchema.SelectionVectorMode 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 interface Prel
    • getParentClass Link icon

      public Class<?> getParentClass()
    • accept Link icon

      public org.apache.calcite.rel.RelNode accept(org.apache.calcite.rex.RexShuttle shuttle)
      Specified by:
      accept in interface org.apache.calcite.rel.RelNode
      Overrides:
      accept in class org.apache.calcite.rel.AbstractRelNode
    • prepareForLateralUnnestPipeline Link icon

      public Prel prepareForLateralUnnestPipeline(List<org.apache.calcite.rel.RelNode> children)
      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 interface Prel