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

zstan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 6215c444467 IGNITE-25083 Sql. Extend aggregates explain output (#5844)
6215c444467 is described below

commit 6215c444467dadb13f224026683dfa624925851e
Author: Evgeniy Stanilovskiy <[email protected]>
AuthorDate: Thu May 22 16:59:48 2025 +0300

    IGNITE-25083 Sql. Extend aggregates explain output (#5844)
---
 .../src/integrationTest/sql/group1/explain/scan.test         |  4 ++--
 .../internal/sql/engine/prepare/ExplainRelAsTextWriter.java  | 11 +++++++++--
 modules/sql-engine/src/test/resources/tpcds/plan/q64.plan    | 12 ++++++------
 modules/sql-engine/src/test/resources/tpch/plan/q1.plan      |  4 ++--
 modules/sql-engine/src/test/resources/tpch/plan/q21.plan     |  2 +-
 modules/sql-engine/src/test/resources/tpch/plan/q5.plan      |  2 +-
 modules/sql-engine/src/test/resources/tpch/plan/q7.plan      |  2 +-
 modules/sql-engine/src/test/resources/tpch/plan/q9.plan      |  2 +-
 8 files changed, 23 insertions(+), 16 deletions(-)

diff --git 
a/modules/sql-engine/src/integrationTest/sql/group1/explain/scan.test 
b/modules/sql-engine/src/integrationTest/sql/group1/explain/scan.test
index 31280b43e23..c1c7af33d49 100644
--- a/modules/sql-engine/src/integrationTest/sql/group1/explain/scan.test
+++ b/modules/sql-engine/src/integrationTest/sql/group1/explain/scan.test
@@ -273,7 +273,7 @@ Project
           est: (rows=1)
     ColocatedHashAggregate
         group: []
-        aggs: [COUNT()]
+        aggs: [EXPR$0=COUNT()]
         est: (rows=1)
       Exchange
           distribution: single
@@ -313,7 +313,7 @@ Project
           est: (rows=1)
     ColocatedHashAggregate
         group: []
-        aggs: [COUNT()]
+        aggs: [EXPR$0=COUNT()]
         est: (rows=1)
       Exchange
           distribution: single
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/ExplainRelAsTextWriter.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/ExplainRelAsTextWriter.java
index c114bfe73fb..963b2d7f921 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/ExplainRelAsTextWriter.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/ExplainRelAsTextWriter.java
@@ -48,6 +48,7 @@ import org.apache.calcite.util.Pair;
 import 
org.apache.ignite.internal.sql.engine.rel.ProjectableFilterableTableScan;
 import org.apache.ignite.internal.sql.engine.schema.IgniteDataSource;
 import org.apache.ignite.internal.sql.engine.util.Commons;
+import org.apache.ignite.internal.util.StringUtils;
 import org.apache.ignite.table.QualifiedNameHelper;
 import org.jetbrains.annotations.Nullable;
 
@@ -205,8 +206,14 @@ public class ExplainRelAsTextWriter extends RelWriterImpl {
     }
 
     private static String beautifyAggCall(AggregateCall call, RexShuttle 
inputRefRewriter, RelDataType rowType) {
-        StringBuilder buf = new 
StringBuilder(call.getAggregation().toString());
-        buf.append('(');
+        StringBuilder buf = new StringBuilder();
+        if (!StringUtils.nullOrBlank(call.name)) {
+            buf.append(call.name);
+            buf.append('=');
+        }
+
+        buf.append(call.getAggregation().toString()).append('(');
+
         if (call.isApproximate()) {
             buf.append("APPROXIMATE ");
         }
diff --git a/modules/sql-engine/src/test/resources/tpcds/plan/q64.plan 
b/modules/sql-engine/src/test/resources/tpcds/plan/q64.plan
index 10da74cc295..0054340b8e0 100644
--- a/modules/sql-engine/src/test/resources/tpcds/plan/q64.plan
+++ b/modules/sql-engine/src/test/resources/tpcds/plan/q64.plan
@@ -11,7 +11,7 @@ Sort
         est: (rows=21)
       ColocatedHashAggregate
           group: [PRODUCT_NAME, ITEM_SK, STORE_NAME, STORE_ZIP, 
B_STREET_NUMBER, B_STREET_NAME, B_CITY, B_ZIP, C_STREET_NUMBER, C_STREET_NAME, 
C_CITY, C_ZIP, SYEAR, FSYEAR, S2YEAR]
-          aggs: [COUNT(), SUM(SS_WHOLESALE_COST), SUM(SS_LIST_PRICE), 
SUM(SS_COUPON_AMT)]
+          aggs: [CNT=COUNT(), S1=SUM(SS_WHOLESALE_COST), 
S2=SUM(SS_LIST_PRICE), S3=SUM(SS_COUPON_AMT)]
           est: (rows=2887)
         Project
             fields: [PRODUCT_NAME, ITEM_SK, STORE_NAME, STORE_ZIP, 
B_STREET_NUMBER, B_STREET_NAME, B_CITY, B_ZIP, C_STREET_NUMBER, C_STREET_NAME, 
C_CITY, C_ZIP, SYEAR, FSYEAR, S2YEAR, SS_WHOLESALE_COST, SS_LIST_PRICE, 
SS_COUPON_AMT]
@@ -176,14 +176,14 @@ Sort
                                             ReduceHashAggregate
                                                 rowType: RecordType(INTEGER 
CS_ITEM_SK, DECIMAL(32767, 2) SALE, DECIMAL(32767, 2) REFUND)
                                                 group: [CS_ITEM_SK]
-                                                aggs: [SUM(_ACC0), SUM(_ACC1)]
+                                                aggs: [SALE=SUM(_ACC0), 
REFUND=SUM(_ACC1)]
                                                 est: (rows=28813)
                                               Exchange
                                                   distribution: single
                                                   est: (rows=28813)
                                                 MapHashAggregate
                                                     group: [CS_ITEM_SK]
-                                                    aggs: 
[SUM(CS_EXT_LIST_PRICE), SUM($f2)]
+                                                    aggs: 
[SALE=SUM(CS_EXT_LIST_PRICE), REFUND=SUM($f2)]
                                                     est: (rows=28813)
                                                   Project
                                                       fields: [CS_ITEM_SK, 
CS_EXT_LIST_PRICE, $f2]
@@ -242,7 +242,7 @@ Sort
                         est: (rows=12)
       ColocatedHashAggregate
           group: [PRODUCT_NAME, ITEM_SK, STORE_NAME, STORE_ZIP, 
B_STREET_NUMBER, B_STREET_NAME, B_CITY, B_ZIP, C_STREET_NUMBER, C_STREET_NAME, 
C_CITY, C_ZIP, SYEAR, FSYEAR, S2YEAR]
-          aggs: [COUNT(), SUM(SS_WHOLESALE_COST), SUM(SS_LIST_PRICE), 
SUM(SS_COUPON_AMT)]
+          aggs: [CNT=COUNT(), S1=SUM(SS_WHOLESALE_COST), 
S2=SUM(SS_LIST_PRICE), S3=SUM(SS_COUPON_AMT)]
           est: (rows=2887)
         Project
             fields: [PRODUCT_NAME, ITEM_SK, STORE_NAME, STORE_ZIP, 
B_STREET_NUMBER, B_STREET_NAME, B_CITY, B_ZIP, C_STREET_NUMBER, C_STREET_NAME, 
C_CITY, C_ZIP, SYEAR, FSYEAR, S2YEAR, SS_WHOLESALE_COST, SS_LIST_PRICE, 
SS_COUPON_AMT]
@@ -407,14 +407,14 @@ Sort
                                             ReduceHashAggregate
                                                 rowType: RecordType(INTEGER 
CS_ITEM_SK, DECIMAL(32767, 2) SALE, DECIMAL(32767, 2) REFUND)
                                                 group: [CS_ITEM_SK]
-                                                aggs: [SUM(_ACC0), SUM(_ACC1)]
+                                                aggs: [SALE=SUM(_ACC0), 
REFUND=SUM(_ACC1)]
                                                 est: (rows=28813)
                                               Exchange
                                                   distribution: single
                                                   est: (rows=28813)
                                                 MapHashAggregate
                                                     group: [CS_ITEM_SK]
-                                                    aggs: 
[SUM(CS_EXT_LIST_PRICE), SUM($f2)]
+                                                    aggs: 
[SALE=SUM(CS_EXT_LIST_PRICE), REFUND=SUM($f2)]
                                                     est: (rows=28813)
                                                   Project
                                                       fields: [CS_ITEM_SK, 
CS_EXT_LIST_PRICE, $f2]
diff --git a/modules/sql-engine/src/test/resources/tpch/plan/q1.plan 
b/modules/sql-engine/src/test/resources/tpch/plan/q1.plan
index 3029e9a4a8d..44154d7d383 100644
--- a/modules/sql-engine/src/test/resources/tpch/plan/q1.plan
+++ b/modules/sql-engine/src/test/resources/tpch/plan/q1.plan
@@ -8,7 +8,7 @@ Sort
     ReduceHashAggregate
         rowType: RecordType(VARCHAR(1) f0, VARCHAR(1) f1, DECIMAL(32767, 2) 
f0_2, DECIMAL(32767, 2) f0_3, DECIMAL(32767, 4) f0_4, DECIMAL(32767, 6) f0_5, 
DECIMAL(32767, 2) f0_6, DECIMAL(32767, 0) f1_7, DECIMAL(32767, 2) f0_8, 
DECIMAL(32767, 0) f1_9, DECIMAL(32767, 2) f0_10, DECIMAL(32767, 0) f1_11, 
BIGINT f0_12)
         group: [0, 1]
-        aggs: [SUM(2), SUM(3), SUM(4), SUM(5), SUM(6), $SUM0(7), SUM(8), 
$SUM0(9), SUM(10), $SUM0(11), $SUM0(12)]
+        aggs: [SUM_QTY=SUM(2), SUM_BASE_PRICE=SUM(3), SUM_DISC_PRICE=SUM(4), 
SUM_CHARGE=SUM(5), AVG_SUM6=SUM(6), AVG_SUM06=$SUM0(7), AVG_SUM8=SUM(8), 
AVG_SUM08=$SUM0(9), AVG_SUM10=SUM(10), AVG_SUM010=$SUM0(11), 
COUNT_12_MAP_SUM=$SUM0(12)]
         est: (rows=1080219)
       Exchange
           distribution: single
@@ -19,7 +19,7 @@ Sort
             est: (rows=1080219)
           MapHashAggregate
               group: [L_RETURNFLAG, L_LINESTATUS]
-              aggs: [SUM(L_QUANTITY), SUM(L_EXTENDEDPRICE), SUM($f4), 
SUM($f5), SUM(L_QUANTITY), COUNT(L_QUANTITY), SUM(L_EXTENDEDPRICE), 
COUNT(L_EXTENDEDPRICE), SUM(L_DISCOUNT), COUNT(L_DISCOUNT), COUNT()]
+              aggs: [SUM_QTY=SUM(L_QUANTITY), 
SUM_BASE_PRICE=SUM(L_EXTENDEDPRICE), SUM_DISC_PRICE=SUM($f4), 
SUM_CHARGE=SUM($f5), AVG_SUM6=SUM(L_QUANTITY), AVG_COUNT6=COUNT(L_QUANTITY), 
AVG_SUM8=SUM(L_EXTENDEDPRICE), AVG_COUNT8=COUNT(L_EXTENDEDPRICE), 
AVG_SUM10=SUM(L_DISCOUNT), AVG_COUNT10=COUNT(L_DISCOUNT), COUNT_ORDER=COUNT()]
               est: (rows=1080219)
             IndexScan
                 table: PUBLIC.LINEITEM
diff --git a/modules/sql-engine/src/test/resources/tpch/plan/q21.plan 
b/modules/sql-engine/src/test/resources/tpch/plan/q21.plan
index becb49248ce..0358daf1630 100644
--- a/modules/sql-engine/src/test/resources/tpch/plan/q21.plan
+++ b/modules/sql-engine/src/test/resources/tpch/plan/q21.plan
@@ -7,7 +7,7 @@ Limit
       est: (rows=100)
     ColocatedSortAggregate
         group: [S_NAME]
-        aggs: [COUNT()]
+        aggs: [NUMWAIT=COUNT()]
         collation: [S_NAME ASC]
         est: (rows=332203730726418)
       Project
diff --git a/modules/sql-engine/src/test/resources/tpch/plan/q5.plan 
b/modules/sql-engine/src/test/resources/tpch/plan/q5.plan
index 60381a64442..9e39e15cd8d 100644
--- a/modules/sql-engine/src/test/resources/tpch/plan/q5.plan
+++ b/modules/sql-engine/src/test/resources/tpch/plan/q5.plan
@@ -3,7 +3,7 @@ Sort
     est: (rows=69944)
   ColocatedHashAggregate
       group: [N_NAME]
-      aggs: [SUM($f1)]
+      aggs: [REVENUE=SUM($f1)]
       est: (rows=69944)
     Project
         fields: [N_NAME, $f1]
diff --git a/modules/sql-engine/src/test/resources/tpch/plan/q7.plan 
b/modules/sql-engine/src/test/resources/tpch/plan/q7.plan
index cefcfbc893b..5b4e29585bd 100644
--- a/modules/sql-engine/src/test/resources/tpch/plan/q7.plan
+++ b/modules/sql-engine/src/test/resources/tpch/plan/q7.plan
@@ -3,7 +3,7 @@ Sort
     est: (rows=165618)
   ColocatedHashAggregate
       group: [SUPP_NATION, CUST_NATION, L_YEAR]
-      aggs: [SUM(VOLUME)]
+      aggs: [REVENUE=SUM(VOLUME)]
       est: (rows=165618)
     Project
         fields: [SUPP_NATION, CUST_NATION, L_YEAR, VOLUME]
diff --git a/modules/sql-engine/src/test/resources/tpch/plan/q9.plan 
b/modules/sql-engine/src/test/resources/tpch/plan/q9.plan
index 56afeb20124..f7ad03fa5d1 100644
--- a/modules/sql-engine/src/test/resources/tpch/plan/q9.plan
+++ b/modules/sql-engine/src/test/resources/tpch/plan/q9.plan
@@ -3,7 +3,7 @@ Sort
     est: (rows=540109)
   ColocatedHashAggregate
       group: [NATION, O_YEAR]
-      aggs: [SUM(AMOUNT)]
+      aggs: [SUM_PROFIT=SUM(AMOUNT)]
       est: (rows=540109)
     Project
         fields: [NATION, O_YEAR, AMOUNT]

Reply via email to