From fc06f2d075fd5f96a20ff4eeaecdef56f717b2b0 Mon Sep 17 00:00:00 2001 From: Laksh Singla Date: Wed, 17 Jan 2024 20:43:45 +0530 Subject: [PATCH] Fix summary iterator in grouping engine(#15658) This PR fixes the summary iterator to add aggregators in the correct position. The summary iterator is used when dims are not present, therefore the new change is identical to the old one, but seems more correct while reading. --- .../java/org/apache/druid/query/groupby/GroupingEngine.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/processing/src/main/java/org/apache/druid/query/groupby/GroupingEngine.java b/processing/src/main/java/org/apache/druid/query/groupby/GroupingEngine.java index 3938516ba363..0c419055c5fe 100644 --- a/processing/src/main/java/org/apache/druid/query/groupby/GroupingEngine.java +++ b/processing/src/main/java/org/apache/druid/query/groupby/GroupingEngine.java @@ -950,7 +950,10 @@ private static Iterator summaryRowIterator(GroupByQuery q) List aggSpec = q.getAggregatorSpecs(); ResultRow resultRow = ResultRow.create(q.getResultRowSizeWithPostAggregators()); for (int i = 0; i < aggSpec.size(); i++) { - resultRow.set(i, aggSpec.get(i).factorize(new AllNullColumnSelectorFactory()).get()); + resultRow.set( + q.getResultRowAggregatorStart() + i, + aggSpec.get(i).factorize(new AllNullColumnSelectorFactory()).get() + ); } Map map = resultRow.toMap(q); for (int i = 0; i < q.getPostAggregatorSpecs().size(); i++) {