Class DrillAggregateRelBase

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
All Implemented Interfaces:
Cloneable, org.apache.calcite.plan.RelOptNode, org.apache.calcite.rel.hint.Hintable, org.apache.calcite.rel.RelNode, DrillRelNode
Direct Known Subclasses:
AggPrelBase, DrillAggregateRel, PluginAggregateRel

public abstract class DrillAggregateRelBase extends org.apache.calcite.rel.core.Aggregate implements DrillRelNode
Base class for logical and physical Aggregations implemented in Drill
  • Nested Class Summary

    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 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
  • Constructor Summary

    Constructors
    Constructor
    Description
    DrillAggregateRelBase(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)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.apache.calcite.plan.RelOptCost
    computeHashAggCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq)
    Estimate cost of hash agg.
    protected org.apache.calcite.plan.RelOptCost
    computeLogicalAggCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq)
     
    double
    estimateRowCount(org.apache.calcite.rel.metadata.RelMetadataQuery mq)
     

    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 org.apache.calcite.rel.RelNode

    accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, copy, deepEquals, deepHashCode, 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
  • Constructor Details

    • DrillAggregateRelBase

      public DrillAggregateRelBase(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)
  • Method Details

    • computeHashAggCost

      protected org.apache.calcite.plan.RelOptCost computeHashAggCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq)
      Estimate cost of hash agg. Called by DrillAggregateRel.computeSelfCost() and HashAggPrel.computeSelfCost()
    • computeLogicalAggCost

      protected org.apache.calcite.plan.RelOptCost computeLogicalAggCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq)
    • estimateRowCount

      public double estimateRowCount(org.apache.calcite.rel.metadata.RelMetadataQuery mq)
      Specified by:
      estimateRowCount in interface org.apache.calcite.rel.RelNode
      Overrides:
      estimateRowCount in class org.apache.calcite.rel.core.Aggregate