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]