Class AggPrelBase

java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.SingleRel
org.apache.calcite.rel.core.Aggregate
org.apache.drill.exec.planner.common.DrillAggregateRelBase
org.apache.drill.exec.planner.physical.AggPrelBase
All Implemented Interfaces:
Cloneable, Iterable<Prel>, org.apache.calcite.plan.RelOptNode, org.apache.calcite.rel.hint.Hintable, org.apache.calcite.rel.RelNode, DrillRelNode, Prel
Direct Known Subclasses:
HashAggPrel, StreamAggPrel

public abstract class AggPrelBase extends DrillAggregateRelBase implements Prel
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
     
    static class 
    Specialized aggregate function for SUMing the COUNTs.

    Nested classes/interfaces inherited from class org.apache.calcite.rel.core.Aggregate

    org.apache.calcite.rel.core.Aggregate.AggCallBinding, org.apache.calcite.rel.core.Aggregate.Group, org.apache.calcite.rel.core.Aggregate.PercentileDiscAggCallBinding

    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
     
     
     
    protected List<org.apache.calcite.rel.core.AggregateCall>
     

    Fields inherited from class org.apache.calcite.rel.core.Aggregate

    aggCalls, groupSet, groupSets, hints, indicator, IS_NOT_GRAND_TOTAL, IS_SIMPLE, NO_INDICATOR

    Fields inherited from class org.apache.calcite.rel.SingleRel

    input

    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

    Constructors
    Constructor
    Description
    AggPrelBase(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode child, org.apache.calcite.util.ImmutableBitSet groupSet, List<org.apache.calcite.util.ImmutableBitSet> groupSets, List<org.apache.calcite.rel.core.AggregateCall> aggCalls, AggPrelBase.OperatorPhase phase)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <T, X, E extends Throwable>
    T
    accept(PrelVisitor<T,X,E> logicalVisitor, X value)
     
    protected void
     
     
     
     
    List<org.apache.calcite.rel.core.AggregateCall>
     
     
    boolean
     
    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.
    toDrill(org.apache.calcite.rel.core.AggregateCall call, List<String> fn)
     

    Methods inherited from class org.apache.drill.exec.planner.common.DrillAggregateRelBase

    computeHashAggCost, computeLogicalAggCost, estimateRowCount

    Methods inherited from class org.apache.calcite.rel.core.Aggregate

    checkIndicator, computeSelfCost, containsDistinctCall, copy, copy, copy, deriveRowType, deriveRowType, explainTerms, getAggCallList, getGroupCount, getGroupSet, getGroupSets, getGroupType, getHints, getIndicatorCount, getNamedAggCalls, isNotGrandTotal, isSimple, isValid, noIndicator

    Methods inherited from class org.apache.calcite.rel.SingleRel

    childrenAccept, getInput, getInputs, replaceInput

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

    accept, accept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, metadata, onRegister, recomputeDigest, register, sole, toString

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.apache.calcite.rel.hint.Hintable

    attachHints, withHints

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator

    Methods inherited from interface org.apache.drill.exec.planner.physical.Prel

    getEncoding, getPhysicalOperator, getSupportedEncodings

    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

  • Constructor Details

    • AggPrelBase

      public AggPrelBase(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, org.apache.calcite.rel.RelNode child, org.apache.calcite.util.ImmutableBitSet groupSet, List<org.apache.calcite.util.ImmutableBitSet> groupSets, List<org.apache.calcite.rel.core.AggregateCall> aggCalls, AggPrelBase.OperatorPhase phase) throws org.apache.calcite.rel.InvalidRelException
      Throws:
      org.apache.calcite.rel.InvalidRelException
  • Method Details

    • getOperatorPhase

      public AggPrelBase.OperatorPhase getOperatorPhase()
    • getKeys

      public List<NamedExpression> getKeys()
    • getAggExprs

      public List<NamedExpression> getAggExprs()
    • getPhase2AggCalls

      public List<org.apache.calcite.rel.core.AggregateCall> getPhase2AggCalls()
    • createKeysAndExprs

      protected void createKeysAndExprs()
    • toDrill

      protected LogicalExpression toDrill(org.apache.calcite.rel.core.AggregateCall call, List<String> fn)
    • iterator

      public Iterator<Prel> iterator()
      Specified by:
      iterator in interface Iterable<Prel>
    • accept

      public <T, X, E extends Throwable> T accept(PrelVisitor<T,X,E> logicalVisitor, X value) throws E
      Specified by:
      accept in interface Prel
      Throws:
      E extends Throwable
    • needsFinalColumnReordering

      public boolean needsFinalColumnReordering()
      Specified by:
      needsFinalColumnReordering in interface Prel
    • prepareForLateralUnnestPipeline

      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