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

morrysnow pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-3.1 by this push:
     new ab1e3328fd4 branch-3.1: [fix](Nereids) not process must shuffle when 
regulate cannot be banned agg #52827 (#52955)
ab1e3328fd4 is described below

commit ab1e3328fd4aab4f957d1d3cae145861f0bebbde
Author: morrySnow <[email protected]>
AuthorDate: Wed Jul 9 16:04:29 2025 +0800

    branch-3.1: [fix](Nereids) not process must shuffle when regulate cannot be 
banned agg #52827 (#52955)
    
    picked from #52827
---
 .../properties/ChildrenPropertiesRegulator.java       |   6 ++----
 .../data/query_p0/group_concat/test_group_concat.out  | Bin 1132 -> 1158 bytes
 .../query_p0/group_concat/test_group_concat.groovy    |  10 ++++++++++
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/ChildrenPropertiesRegulator.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/ChildrenPropertiesRegulator.java
index 5bd24f9e778..f6868a819cc 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/ChildrenPropertiesRegulator.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/properties/ChildrenPropertiesRegulator.java
@@ -110,7 +110,7 @@ public class ChildrenPropertiesRegulator extends 
PlanVisitor<Boolean, Void> {
             return false;
         }
         if (!agg.getAggregateParam().canBeBanned) {
-            return true;
+            return visit(agg, context);
         }
         // forbid one phase agg on distribute
         if (agg.getAggMode() == AggMode.INPUT_TO_RESULT && 
children.get(0).getPlan() instanceof PhysicalDistribute) {
@@ -176,9 +176,7 @@ public class ChildrenPropertiesRegulator extends 
PlanVisitor<Boolean, Void> {
             }
         }
         // process must shuffle
-        visit(agg, context);
-        // process agg
-        return true;
+        return visit(agg, context);
     }
 
     @Override
diff --git a/regression-test/data/query_p0/group_concat/test_group_concat.out 
b/regression-test/data/query_p0/group_concat/test_group_concat.out
index d01900ef88b..3065713cf55 100644
Binary files a/regression-test/data/query_p0/group_concat/test_group_concat.out 
and b/regression-test/data/query_p0/group_concat/test_group_concat.out differ
diff --git 
a/regression-test/suites/query_p0/group_concat/test_group_concat.groovy 
b/regression-test/suites/query_p0/group_concat/test_group_concat.groovy
index 522d66ed64b..ee9bab29e8e 100644
--- a/regression-test/suites/query_p0/group_concat/test_group_concat.groovy
+++ b/regression-test/suites/query_p0/group_concat/test_group_concat.groovy
@@ -79,6 +79,16 @@ suite("test_group_concat", "query,p0,arrow_flight_sql") {
                 b2;
               """
 
+    // test SPLIT_MULTI_DISTINCT could work right with can not be banned 
aggregation
+    qt_select_13 """
+                select
+                group_concat( distinct b1, cast(b2 as varchar)), group_concat( 
distinct b3, '?')
+                from
+                table_group_concat
+                group by 
+                b2;
+              """
+
     sql """ drop table table_group_concat """
     sql """create table table_group_concat ( b1 varchar(10) not null, b2 int 
not null, b3 varchar(10) not null )
             ENGINE=OLAP


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

Reply via email to