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
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic 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
Modifier and TypeFieldDescriptionprotected List<NamedExpression>
protected List<NamedExpression>
protected AggPrelBase.OperatorPhase
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
ConstructorDescriptionAggPrelBase
(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 TypeMethodDescription<T,
X, E extends Throwable>
Taccept
(PrelVisitor<T, X, E> logicalVisitor, X value) protected void
getKeys()
List<org.apache.calcite.rel.core.AggregateCall>
iterator()
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.protected LogicalExpression
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
-
operPhase
-
keys
-
aggExprs
-
phase2AggCallList
-
-
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
-
getKeys
-
getAggExprs
-
getPhase2AggCalls
-
createKeysAndExprs
protected void createKeysAndExprs() -
toDrill
protected LogicalExpression toDrill(org.apache.calcite.rel.core.AggregateCall call, List<String> fn) -
iterator
-
accept
-
needsFinalColumnReordering
public boolean needsFinalColumnReordering()- Specified by:
needsFinalColumnReordering
in interfacePrel
-
prepareForLateralUnnestPipeline
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 interfacePrel
-