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
Nested ClassesModifier and TypeClassDescriptionstatic enumstatic classSpecialized 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.PercentileDiscAggCallBindingNested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
org.apache.calcite.rel.RelNode.Context -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected List<NamedExpression> protected List<NamedExpression> protected AggPrelBase.OperatorPhaseprotected 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_INDICATORFields inherited from class org.apache.calcite.rel.SingleRel
inputFields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSetFields inherited from interface org.apache.drill.exec.planner.physical.Prel
DRILL_PHYSICAL -
Constructor Summary
ConstructorsConstructorDescriptionAggPrelBase(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 voidgetKeys()List<org.apache.calcite.rel.core.AggregateCall> iterator()booleanprepareForLateralUnnestPipeline(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 LogicalExpressionMethods inherited from class org.apache.drill.exec.planner.common.DrillAggregateRelBase
computeHashAggCost, computeLogicalAggCost, estimateRowCountMethods 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, noIndicatorMethods inherited from class org.apache.calcite.rel.SingleRel
childrenAccept, getInput, getInputs, replaceInputMethods 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, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.calcite.rel.hint.Hintable
attachHints, withHintsMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface org.apache.drill.exec.planner.physical.Prel
getEncoding, getPhysicalOperator, getSupportedEncodingsMethods 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, replaceInputMethods 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:
needsFinalColumnReorderingin interfacePrel
-
prepareForLateralUnnestPipeline
Description copied from interface:PrelIf 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:
prepareForLateralUnnestPipelinein interfacePrel
-