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

Reply via email to