walterddr commented on code in PR #10846: URL: https://github.com/apache/pinot/pull/10846#discussion_r1248908609
########## pinot-query-planner/src/main/java/org/apache/pinot/query/planner/plannode/AggregateNode.java: ########## @@ -35,30 +35,72 @@ public class AggregateNode extends AbstractPlanNode { private List<RexExpression> _aggCalls; @ProtoProperties private List<RexExpression> _groupSet; + @ProtoProperties + private AggregationStage _aggregationStage; + @ProtoProperties + private boolean _treatIntermediateStageAsLeaf; + + /** + * Enum to denote the aggregation stage being performed. Hints are used to populate these values + * LEAF - leaf aggregation level which performs the aggregations on the raw values directly + * INTERMEDIATE - intermediate aggregation level which merges results from lower aggregation levels + * FINAL - final aggregation level which extracts the final result + */ + public enum AggregationStage { + LEAF, + INTERMEDIATE, + FINAL + } Review Comment: let's merge this ENUM with AggregateOperator.Mode IMO, there's nothing we can't determine during plan time for runtime operator to perform. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org