This is an automated email from the ASF dual-hosted git repository.

starocean999 pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-1.2-lts by this push:
     new d41d5813dcd [fix](planner)output slot should be materialized as 
intermediate slot in agg node (#27287)
d41d5813dcd is described below

commit d41d5813dcd0658adfb653c6456c3d11fba153f8
Author: starocean999 <[email protected]>
AuthorDate: Fri Dec 22 09:39:57 2023 +0800

    [fix](planner)output slot should be materialized as intermediate slot in 
agg node (#27287)
---
 .../src/main/java/org/apache/doris/analysis/AggregateInfo.java       | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/AggregateInfo.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/AggregateInfo.java
index 84e94076936..b6f14aba557 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AggregateInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AggregateInfo.java
@@ -900,10 +900,13 @@ public final class AggregateInfo extends 
AggregateInfoBase {
                 intermediateSlotDesc.setIsMaterialized(true);
             }
 
-            if (!slotDesc.isMaterialized()) {
+            if (!slotDesc.isMaterialized()
+                    && !(i == aggregateExprsSize - 1 && 
materializedSlots.isEmpty() && groupingExprs.isEmpty())) {
+                // we need keep at least one materialized slot in agg node
                 continue;
             }
 
+            slotDesc.setIsMaterialized(true);
             intermediateSlotDesc.setIsMaterialized(true);
             exprs.add(functionCallExpr);
             materializedSlots.add(i);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to