This is an automated email from the ASF dual-hosted git repository.
mbutrovich pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git
The following commit(s) were added to refs/heads/main by this push:
new 4ec801021 chore: update TPS-DC plans after #2429 (#2486)
4ec801021 is described below
commit 4ec80102145fc1e483c40238da28c42eef59cbc2
Author: Matt Butrovich <[email protected]>
AuthorDate: Mon Sep 29 11:33:42 2025 -0400
chore: update TPS-DC plans after #2429 (#2486)
---
.../approved-plans-v1_4-spark3_5/q16/explain.txt | 14 ++--
.../q16/simplified.txt | 6 +-
.../approved-plans-v1_4-spark3_5/q28/explain.txt | 84 ++++++++++------------
.../q28/simplified.txt | 36 +++++-----
.../approved-plans-v1_4-spark3_5/q94/explain.txt | 14 ++--
.../q94/simplified.txt | 6 +-
.../approved-plans-v1_4-spark3_5/q95/explain.txt | 14 ++--
.../q95/simplified.txt | 6 +-
.../approved-plans-v1_4-spark4_0/q28/explain.txt | 84 ++++++++++------------
.../q28/simplified.txt | 36 +++++-----
.../approved-plans-v1_4/q16/explain.txt | 14 ++--
.../approved-plans-v1_4/q16/simplified.txt | 6 +-
.../approved-plans-v1_4/q28/explain.txt | 84 ++++++++++------------
.../approved-plans-v1_4/q28/simplified.txt | 36 +++++-----
.../approved-plans-v1_4/q94/explain.txt | 14 ++--
.../approved-plans-v1_4/q94/simplified.txt | 6 +-
.../approved-plans-v1_4/q95/explain.txt | 14 ++--
.../approved-plans-v1_4/q95/simplified.txt | 6 +-
18 files changed, 216 insertions(+), 264 deletions(-)
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q16/explain.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q16/explain.txt
index 1654e70a5..f2473f1f0 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q16/explain.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q16/explain.txt
@@ -1,6 +1,6 @@
== Physical Plan ==
-* HashAggregate (41)
-+- * CometColumnarToRow (40)
+* CometColumnarToRow (41)
++- CometHashAggregate (40)
+- CometColumnarExchange (39)
+- * HashAggregate (38)
+- * HashAggregate (37)
@@ -225,13 +225,11 @@ Results [3]: [sum#20, sum#21, count#25]
Input [3]: [sum#20, sum#21, count#25]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=4]
-(40) CometColumnarToRow [codegen id : 2]
-Input [3]: [sum#20, sum#21, count#25]
-
-(41) HashAggregate [codegen id : 2]
+(40) CometHashAggregate
Input [3]: [sum#20, sum#21, count#25]
Keys: []
Functions [3]: [sum(UnscaledValue(cs_ext_ship_cost#6)),
sum(UnscaledValue(cs_net_profit#7)), count(distinct cs_order_number#5)]
-Aggregate Attributes [3]: [sum(UnscaledValue(cs_ext_ship_cost#6))#22,
sum(UnscaledValue(cs_net_profit#7))#23, count(cs_order_number#5)#24]
-Results [3]: [count(cs_order_number#5)#24 AS order count #26,
MakeDecimal(sum(UnscaledValue(cs_ext_ship_cost#6))#22,17,2) AS total shipping
cost #27, MakeDecimal(sum(UnscaledValue(cs_net_profit#7))#23,17,2) AS total net
profit #28]
+
+(41) CometColumnarToRow [codegen id : 2]
+Input [3]: [order count #26, total shipping cost #27, total net profit #28]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q16/simplified.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q16/simplified.txt
index c703a75e7..8427aa49a 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q16/simplified.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q16/simplified.txt
@@ -1,7 +1,7 @@
WholeStageCodegen (2)
- HashAggregate [sum,sum,count]
[sum(UnscaledValue(cs_ext_ship_cost)),sum(UnscaledValue(cs_net_profit)),count(cs_order_number),order
count ,total shipping cost ,total net profit ,sum,sum,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,sum,count] [order count ,total shipping cost
,total net profit
,count(cs_order_number),sum(UnscaledValue(cs_ext_ship_cost)),sum(UnscaledValue(cs_net_profit))]
CometColumnarExchange #1
WholeStageCodegen (1)
HashAggregate [cs_order_number]
[sum(UnscaledValue(cs_ext_ship_cost)),sum(UnscaledValue(cs_net_profit)),count(cs_order_number),sum,sum,count,sum,sum,count]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q28/explain.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q28/explain.txt
index c0b28ec54..98ac957fc 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q28/explain.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q28/explain.txt
@@ -4,8 +4,8 @@
: :- * BroadcastNestedLoopJoin Inner BuildRight (50)
: : :- * BroadcastNestedLoopJoin Inner BuildRight (37)
: : : :- * BroadcastNestedLoopJoin Inner BuildRight (24)
-: : : : :- * HashAggregate (11)
-: : : : : +- * CometColumnarToRow (10)
+: : : : :- * CometColumnarToRow (11)
+: : : : : +- CometHashAggregate (10)
: : : : : +- CometColumnarExchange (9)
: : : : : +- * HashAggregate (8)
: : : : : +- * HashAggregate (7)
@@ -16,8 +16,8 @@
: : : : : +- CometFilter (2)
: : : : : +- CometScan [native_iceberg_compat]
parquet spark_catalog.default.store_sales (1)
: : : : +- BroadcastExchange (23)
-: : : : +- * HashAggregate (22)
-: : : : +- * CometColumnarToRow (21)
+: : : : +- * CometColumnarToRow (22)
+: : : : +- CometHashAggregate (21)
: : : : +- CometColumnarExchange (20)
: : : : +- * HashAggregate (19)
: : : : +- * HashAggregate (18)
@@ -28,8 +28,8 @@
: : : : +- CometFilter (13)
: : : : +- CometScan
[native_iceberg_compat] parquet spark_catalog.default.store_sales (12)
: : : +- BroadcastExchange (36)
-: : : +- * HashAggregate (35)
-: : : +- * CometColumnarToRow (34)
+: : : +- * CometColumnarToRow (35)
+: : : +- CometHashAggregate (34)
: : : +- CometColumnarExchange (33)
: : : +- * HashAggregate (32)
: : : +- * HashAggregate (31)
@@ -40,8 +40,8 @@
: : : +- CometFilter (26)
: : : +- CometScan [native_iceberg_compat]
parquet spark_catalog.default.store_sales (25)
: : +- BroadcastExchange (49)
-: : +- * HashAggregate (48)
-: : +- * CometColumnarToRow (47)
+: : +- * CometColumnarToRow (48)
+: : +- CometHashAggregate (47)
: : +- CometColumnarExchange (46)
: : +- * HashAggregate (45)
: : +- * HashAggregate (44)
@@ -52,8 +52,8 @@
: : +- CometFilter (39)
: : +- CometScan [native_iceberg_compat]
parquet spark_catalog.default.store_sales (38)
: +- BroadcastExchange (62)
-: +- * HashAggregate (61)
-: +- * CometColumnarToRow (60)
+: +- * CometColumnarToRow (61)
+: +- CometHashAggregate (60)
: +- CometColumnarExchange (59)
: +- * HashAggregate (58)
: +- * HashAggregate (57)
@@ -64,8 +64,8 @@
: +- CometFilter (52)
: +- CometScan [native_iceberg_compat]
parquet spark_catalog.default.store_sales (51)
+- BroadcastExchange (75)
- +- * HashAggregate (74)
- +- * CometColumnarToRow (73)
+ +- * CometColumnarToRow (74)
+ +- CometHashAggregate (73)
+- CometColumnarExchange (72)
+- * HashAggregate (71)
+- * HashAggregate (70)
@@ -122,15 +122,13 @@ Results [4]: [sum#6, count#7, count#8, count#12]
Input [4]: [sum#6, count#7, count#8, count#12]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=2]
-(10) CometColumnarToRow [codegen id : 12]
-Input [4]: [sum#6, count#7, count#8, count#12]
-
-(11) HashAggregate [codegen id : 12]
+(10) CometHashAggregate
Input [4]: [sum#6, count#7, count#8, count#12]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#3)), count(ss_list_price#3),
count(distinct ss_list_price#3)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#3))#9,
count(ss_list_price#3)#10, count(ss_list_price#3)#11]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#3))#9 / 100.0) as
decimal(11,6)) AS B1_LP#13, count(ss_list_price#3)#10 AS B1_CNT#14,
count(ss_list_price#3)#11 AS B1_CNTD#15]
+
+(11) CometColumnarToRow [codegen id : 12]
+Input [3]: [B1_LP#13, B1_CNT#14, B1_CNTD#15]
(12) CometScan [native_iceberg_compat] parquet
spark_catalog.default.store_sales
Output [5]: [ss_quantity#16, ss_wholesale_cost#17, ss_list_price#18,
ss_coupon_amt#19, ss_sold_date_sk#20]
@@ -177,15 +175,13 @@ Results [4]: [sum#21, count#22, count#23, count#27]
Input [4]: [sum#21, count#22, count#23, count#27]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=4]
-(21) CometColumnarToRow [codegen id : 3]
-Input [4]: [sum#21, count#22, count#23, count#27]
-
-(22) HashAggregate [codegen id : 3]
+(21) CometHashAggregate
Input [4]: [sum#21, count#22, count#23, count#27]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#18)), count(ss_list_price#18),
count(distinct ss_list_price#18)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#18))#24,
count(ss_list_price#18)#25, count(ss_list_price#18)#26]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#18))#24 / 100.0) as
decimal(11,6)) AS B2_LP#28, count(ss_list_price#18)#25 AS B2_CNT#29,
count(ss_list_price#18)#26 AS B2_CNTD#30]
+
+(22) CometColumnarToRow [codegen id : 3]
+Input [3]: [B2_LP#28, B2_CNT#29, B2_CNTD#30]
(23) BroadcastExchange
Input [3]: [B2_LP#28, B2_CNT#29, B2_CNTD#30]
@@ -240,15 +236,13 @@ Results [4]: [sum#36, count#37, count#38, count#42]
Input [4]: [sum#36, count#37, count#38, count#42]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=7]
-(34) CometColumnarToRow [codegen id : 5]
-Input [4]: [sum#36, count#37, count#38, count#42]
-
-(35) HashAggregate [codegen id : 5]
+(34) CometHashAggregate
Input [4]: [sum#36, count#37, count#38, count#42]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#33)), count(ss_list_price#33),
count(distinct ss_list_price#33)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#33))#39,
count(ss_list_price#33)#40, count(ss_list_price#33)#41]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#33))#39 / 100.0) as
decimal(11,6)) AS B3_LP#43, count(ss_list_price#33)#40 AS B3_CNT#44,
count(ss_list_price#33)#41 AS B3_CNTD#45]
+
+(35) CometColumnarToRow [codegen id : 5]
+Input [3]: [B3_LP#43, B3_CNT#44, B3_CNTD#45]
(36) BroadcastExchange
Input [3]: [B3_LP#43, B3_CNT#44, B3_CNTD#45]
@@ -303,15 +297,13 @@ Results [4]: [sum#51, count#52, count#53, count#57]
Input [4]: [sum#51, count#52, count#53, count#57]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=10]
-(47) CometColumnarToRow [codegen id : 7]
-Input [4]: [sum#51, count#52, count#53, count#57]
-
-(48) HashAggregate [codegen id : 7]
+(47) CometHashAggregate
Input [4]: [sum#51, count#52, count#53, count#57]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#48)), count(ss_list_price#48),
count(distinct ss_list_price#48)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#48))#54,
count(ss_list_price#48)#55, count(ss_list_price#48)#56]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#48))#54 / 100.0) as
decimal(11,6)) AS B4_LP#58, count(ss_list_price#48)#55 AS B4_CNT#59,
count(ss_list_price#48)#56 AS B4_CNTD#60]
+
+(48) CometColumnarToRow [codegen id : 7]
+Input [3]: [B4_LP#58, B4_CNT#59, B4_CNTD#60]
(49) BroadcastExchange
Input [3]: [B4_LP#58, B4_CNT#59, B4_CNTD#60]
@@ -366,15 +358,13 @@ Results [4]: [sum#66, count#67, count#68, count#72]
Input [4]: [sum#66, count#67, count#68, count#72]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=13]
-(60) CometColumnarToRow [codegen id : 9]
-Input [4]: [sum#66, count#67, count#68, count#72]
-
-(61) HashAggregate [codegen id : 9]
+(60) CometHashAggregate
Input [4]: [sum#66, count#67, count#68, count#72]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#63)), count(ss_list_price#63),
count(distinct ss_list_price#63)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#63))#69,
count(ss_list_price#63)#70, count(ss_list_price#63)#71]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#63))#69 / 100.0) as
decimal(11,6)) AS B5_LP#73, count(ss_list_price#63)#70 AS B5_CNT#74,
count(ss_list_price#63)#71 AS B5_CNTD#75]
+
+(61) CometColumnarToRow [codegen id : 9]
+Input [3]: [B5_LP#73, B5_CNT#74, B5_CNTD#75]
(62) BroadcastExchange
Input [3]: [B5_LP#73, B5_CNT#74, B5_CNTD#75]
@@ -429,15 +419,13 @@ Results [4]: [sum#81, count#82, count#83, count#87]
Input [4]: [sum#81, count#82, count#83, count#87]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=16]
-(73) CometColumnarToRow [codegen id : 11]
-Input [4]: [sum#81, count#82, count#83, count#87]
-
-(74) HashAggregate [codegen id : 11]
+(73) CometHashAggregate
Input [4]: [sum#81, count#82, count#83, count#87]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#78)), count(ss_list_price#78),
count(distinct ss_list_price#78)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#78))#84,
count(ss_list_price#78)#85, count(ss_list_price#78)#86]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#78))#84 / 100.0) as
decimal(11,6)) AS B6_LP#88, count(ss_list_price#78)#85 AS B6_CNT#89,
count(ss_list_price#78)#86 AS B6_CNTD#90]
+
+(74) CometColumnarToRow [codegen id : 11]
+Input [3]: [B6_LP#88, B6_CNT#89, B6_CNTD#90]
(75) BroadcastExchange
Input [3]: [B6_LP#88, B6_CNT#89, B6_CNTD#90]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q28/simplified.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q28/simplified.txt
index 9c6a3da62..ce476affd 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q28/simplified.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q28/simplified.txt
@@ -4,9 +4,9 @@ WholeStageCodegen (12)
BroadcastNestedLoopJoin
BroadcastNestedLoopJoin
BroadcastNestedLoopJoin
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B1_LP,B1_CNT,B1_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B1_LP,B1_CNT,B1_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #1
WholeStageCodegen (1)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -21,9 +21,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #3
WholeStageCodegen (3)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B2_LP,B2_CNT,B2_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B2_LP,B2_CNT,B2_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #4
WholeStageCodegen (2)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -38,9 +38,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #6
WholeStageCodegen (5)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B3_LP,B3_CNT,B3_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B3_LP,B3_CNT,B3_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #7
WholeStageCodegen (4)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -55,9 +55,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #9
WholeStageCodegen (7)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B4_LP,B4_CNT,B4_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B4_LP,B4_CNT,B4_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #10
WholeStageCodegen (6)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -72,9 +72,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #12
WholeStageCodegen (9)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B5_LP,B5_CNT,B5_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B5_LP,B5_CNT,B5_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #13
WholeStageCodegen (8)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -89,9 +89,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #15
WholeStageCodegen (11)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B6_LP,B6_CNT,B6_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B6_LP,B6_CNT,B6_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #16
WholeStageCodegen (10)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q94/explain.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q94/explain.txt
index 3caf1593d..8164e345a 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q94/explain.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q94/explain.txt
@@ -1,6 +1,6 @@
== Physical Plan ==
-* HashAggregate (41)
-+- * CometColumnarToRow (40)
+* CometColumnarToRow (41)
++- CometHashAggregate (40)
+- CometColumnarExchange (39)
+- * HashAggregate (38)
+- * HashAggregate (37)
@@ -225,13 +225,11 @@ Results [3]: [sum#20, sum#21, count#25]
Input [3]: [sum#20, sum#21, count#25]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=4]
-(40) CometColumnarToRow [codegen id : 2]
-Input [3]: [sum#20, sum#21, count#25]
-
-(41) HashAggregate [codegen id : 2]
+(40) CometHashAggregate
Input [3]: [sum#20, sum#21, count#25]
Keys: []
Functions [3]: [sum(UnscaledValue(ws_ext_ship_cost#6)),
sum(UnscaledValue(ws_net_profit#7)), count(distinct ws_order_number#5)]
-Aggregate Attributes [3]: [sum(UnscaledValue(ws_ext_ship_cost#6))#22,
sum(UnscaledValue(ws_net_profit#7))#23, count(ws_order_number#5)#24]
-Results [3]: [count(ws_order_number#5)#24 AS order count #26,
MakeDecimal(sum(UnscaledValue(ws_ext_ship_cost#6))#22,17,2) AS total shipping
cost #27, MakeDecimal(sum(UnscaledValue(ws_net_profit#7))#23,17,2) AS total net
profit #28]
+
+(41) CometColumnarToRow [codegen id : 2]
+Input [3]: [order count #26, total shipping cost #27, total net profit #28]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q94/simplified.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q94/simplified.txt
index bf85b844c..629178d10 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q94/simplified.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q94/simplified.txt
@@ -1,7 +1,7 @@
WholeStageCodegen (2)
- HashAggregate [sum,sum,count]
[sum(UnscaledValue(ws_ext_ship_cost)),sum(UnscaledValue(ws_net_profit)),count(ws_order_number),order
count ,total shipping cost ,total net profit ,sum,sum,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,sum,count] [order count ,total shipping cost
,total net profit
,count(ws_order_number),sum(UnscaledValue(ws_ext_ship_cost)),sum(UnscaledValue(ws_net_profit))]
CometColumnarExchange #1
WholeStageCodegen (1)
HashAggregate [ws_order_number]
[sum(UnscaledValue(ws_ext_ship_cost)),sum(UnscaledValue(ws_net_profit)),count(ws_order_number),sum,sum,count,sum,sum,count]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q95/explain.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q95/explain.txt
index 5ecdefc56..24e37a848 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q95/explain.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q95/explain.txt
@@ -1,6 +1,6 @@
== Physical Plan ==
-* HashAggregate (54)
-+- * CometColumnarToRow (53)
+* CometColumnarToRow (54)
++- CometHashAggregate (53)
+- CometColumnarExchange (52)
+- * HashAggregate (51)
+- * HashAggregate (50)
@@ -292,13 +292,11 @@ Results [3]: [sum#25, sum#26, count#30]
Input [3]: [sum#25, sum#26, count#30]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=4]
-(53) CometColumnarToRow [codegen id : 2]
-Input [3]: [sum#25, sum#26, count#30]
-
-(54) HashAggregate [codegen id : 2]
+(53) CometHashAggregate
Input [3]: [sum#25, sum#26, count#30]
Keys: []
Functions [3]: [sum(UnscaledValue(ws_ext_ship_cost#5)),
sum(UnscaledValue(ws_net_profit#6)), count(distinct ws_order_number#4)]
-Aggregate Attributes [3]: [sum(UnscaledValue(ws_ext_ship_cost#5))#27,
sum(UnscaledValue(ws_net_profit#6))#28, count(ws_order_number#4)#29]
-Results [3]: [count(ws_order_number#4)#29 AS order count #31,
MakeDecimal(sum(UnscaledValue(ws_ext_ship_cost#5))#27,17,2) AS total shipping
cost #32, MakeDecimal(sum(UnscaledValue(ws_net_profit#6))#28,17,2) AS total net
profit #33]
+
+(54) CometColumnarToRow [codegen id : 2]
+Input [3]: [order count #31, total shipping cost #32, total net profit #33]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q95/simplified.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q95/simplified.txt
index 3e9cdb81f..6c1b1bccf 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q95/simplified.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark3_5/q95/simplified.txt
@@ -1,7 +1,7 @@
WholeStageCodegen (2)
- HashAggregate [sum,sum,count]
[sum(UnscaledValue(ws_ext_ship_cost)),sum(UnscaledValue(ws_net_profit)),count(ws_order_number),order
count ,total shipping cost ,total net profit ,sum,sum,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,sum,count] [order count ,total shipping cost
,total net profit
,count(ws_order_number),sum(UnscaledValue(ws_ext_ship_cost)),sum(UnscaledValue(ws_net_profit))]
CometColumnarExchange #1
WholeStageCodegen (1)
HashAggregate [ws_order_number]
[sum(UnscaledValue(ws_ext_ship_cost)),sum(UnscaledValue(ws_net_profit)),count(ws_order_number),sum,sum,count,sum,sum,count]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark4_0/q28/explain.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark4_0/q28/explain.txt
index c0b28ec54..98ac957fc 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark4_0/q28/explain.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark4_0/q28/explain.txt
@@ -4,8 +4,8 @@
: :- * BroadcastNestedLoopJoin Inner BuildRight (50)
: : :- * BroadcastNestedLoopJoin Inner BuildRight (37)
: : : :- * BroadcastNestedLoopJoin Inner BuildRight (24)
-: : : : :- * HashAggregate (11)
-: : : : : +- * CometColumnarToRow (10)
+: : : : :- * CometColumnarToRow (11)
+: : : : : +- CometHashAggregate (10)
: : : : : +- CometColumnarExchange (9)
: : : : : +- * HashAggregate (8)
: : : : : +- * HashAggregate (7)
@@ -16,8 +16,8 @@
: : : : : +- CometFilter (2)
: : : : : +- CometScan [native_iceberg_compat]
parquet spark_catalog.default.store_sales (1)
: : : : +- BroadcastExchange (23)
-: : : : +- * HashAggregate (22)
-: : : : +- * CometColumnarToRow (21)
+: : : : +- * CometColumnarToRow (22)
+: : : : +- CometHashAggregate (21)
: : : : +- CometColumnarExchange (20)
: : : : +- * HashAggregate (19)
: : : : +- * HashAggregate (18)
@@ -28,8 +28,8 @@
: : : : +- CometFilter (13)
: : : : +- CometScan
[native_iceberg_compat] parquet spark_catalog.default.store_sales (12)
: : : +- BroadcastExchange (36)
-: : : +- * HashAggregate (35)
-: : : +- * CometColumnarToRow (34)
+: : : +- * CometColumnarToRow (35)
+: : : +- CometHashAggregate (34)
: : : +- CometColumnarExchange (33)
: : : +- * HashAggregate (32)
: : : +- * HashAggregate (31)
@@ -40,8 +40,8 @@
: : : +- CometFilter (26)
: : : +- CometScan [native_iceberg_compat]
parquet spark_catalog.default.store_sales (25)
: : +- BroadcastExchange (49)
-: : +- * HashAggregate (48)
-: : +- * CometColumnarToRow (47)
+: : +- * CometColumnarToRow (48)
+: : +- CometHashAggregate (47)
: : +- CometColumnarExchange (46)
: : +- * HashAggregate (45)
: : +- * HashAggregate (44)
@@ -52,8 +52,8 @@
: : +- CometFilter (39)
: : +- CometScan [native_iceberg_compat]
parquet spark_catalog.default.store_sales (38)
: +- BroadcastExchange (62)
-: +- * HashAggregate (61)
-: +- * CometColumnarToRow (60)
+: +- * CometColumnarToRow (61)
+: +- CometHashAggregate (60)
: +- CometColumnarExchange (59)
: +- * HashAggregate (58)
: +- * HashAggregate (57)
@@ -64,8 +64,8 @@
: +- CometFilter (52)
: +- CometScan [native_iceberg_compat]
parquet spark_catalog.default.store_sales (51)
+- BroadcastExchange (75)
- +- * HashAggregate (74)
- +- * CometColumnarToRow (73)
+ +- * CometColumnarToRow (74)
+ +- CometHashAggregate (73)
+- CometColumnarExchange (72)
+- * HashAggregate (71)
+- * HashAggregate (70)
@@ -122,15 +122,13 @@ Results [4]: [sum#6, count#7, count#8, count#12]
Input [4]: [sum#6, count#7, count#8, count#12]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=2]
-(10) CometColumnarToRow [codegen id : 12]
-Input [4]: [sum#6, count#7, count#8, count#12]
-
-(11) HashAggregate [codegen id : 12]
+(10) CometHashAggregate
Input [4]: [sum#6, count#7, count#8, count#12]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#3)), count(ss_list_price#3),
count(distinct ss_list_price#3)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#3))#9,
count(ss_list_price#3)#10, count(ss_list_price#3)#11]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#3))#9 / 100.0) as
decimal(11,6)) AS B1_LP#13, count(ss_list_price#3)#10 AS B1_CNT#14,
count(ss_list_price#3)#11 AS B1_CNTD#15]
+
+(11) CometColumnarToRow [codegen id : 12]
+Input [3]: [B1_LP#13, B1_CNT#14, B1_CNTD#15]
(12) CometScan [native_iceberg_compat] parquet
spark_catalog.default.store_sales
Output [5]: [ss_quantity#16, ss_wholesale_cost#17, ss_list_price#18,
ss_coupon_amt#19, ss_sold_date_sk#20]
@@ -177,15 +175,13 @@ Results [4]: [sum#21, count#22, count#23, count#27]
Input [4]: [sum#21, count#22, count#23, count#27]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=4]
-(21) CometColumnarToRow [codegen id : 3]
-Input [4]: [sum#21, count#22, count#23, count#27]
-
-(22) HashAggregate [codegen id : 3]
+(21) CometHashAggregate
Input [4]: [sum#21, count#22, count#23, count#27]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#18)), count(ss_list_price#18),
count(distinct ss_list_price#18)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#18))#24,
count(ss_list_price#18)#25, count(ss_list_price#18)#26]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#18))#24 / 100.0) as
decimal(11,6)) AS B2_LP#28, count(ss_list_price#18)#25 AS B2_CNT#29,
count(ss_list_price#18)#26 AS B2_CNTD#30]
+
+(22) CometColumnarToRow [codegen id : 3]
+Input [3]: [B2_LP#28, B2_CNT#29, B2_CNTD#30]
(23) BroadcastExchange
Input [3]: [B2_LP#28, B2_CNT#29, B2_CNTD#30]
@@ -240,15 +236,13 @@ Results [4]: [sum#36, count#37, count#38, count#42]
Input [4]: [sum#36, count#37, count#38, count#42]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=7]
-(34) CometColumnarToRow [codegen id : 5]
-Input [4]: [sum#36, count#37, count#38, count#42]
-
-(35) HashAggregate [codegen id : 5]
+(34) CometHashAggregate
Input [4]: [sum#36, count#37, count#38, count#42]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#33)), count(ss_list_price#33),
count(distinct ss_list_price#33)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#33))#39,
count(ss_list_price#33)#40, count(ss_list_price#33)#41]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#33))#39 / 100.0) as
decimal(11,6)) AS B3_LP#43, count(ss_list_price#33)#40 AS B3_CNT#44,
count(ss_list_price#33)#41 AS B3_CNTD#45]
+
+(35) CometColumnarToRow [codegen id : 5]
+Input [3]: [B3_LP#43, B3_CNT#44, B3_CNTD#45]
(36) BroadcastExchange
Input [3]: [B3_LP#43, B3_CNT#44, B3_CNTD#45]
@@ -303,15 +297,13 @@ Results [4]: [sum#51, count#52, count#53, count#57]
Input [4]: [sum#51, count#52, count#53, count#57]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=10]
-(47) CometColumnarToRow [codegen id : 7]
-Input [4]: [sum#51, count#52, count#53, count#57]
-
-(48) HashAggregate [codegen id : 7]
+(47) CometHashAggregate
Input [4]: [sum#51, count#52, count#53, count#57]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#48)), count(ss_list_price#48),
count(distinct ss_list_price#48)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#48))#54,
count(ss_list_price#48)#55, count(ss_list_price#48)#56]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#48))#54 / 100.0) as
decimal(11,6)) AS B4_LP#58, count(ss_list_price#48)#55 AS B4_CNT#59,
count(ss_list_price#48)#56 AS B4_CNTD#60]
+
+(48) CometColumnarToRow [codegen id : 7]
+Input [3]: [B4_LP#58, B4_CNT#59, B4_CNTD#60]
(49) BroadcastExchange
Input [3]: [B4_LP#58, B4_CNT#59, B4_CNTD#60]
@@ -366,15 +358,13 @@ Results [4]: [sum#66, count#67, count#68, count#72]
Input [4]: [sum#66, count#67, count#68, count#72]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=13]
-(60) CometColumnarToRow [codegen id : 9]
-Input [4]: [sum#66, count#67, count#68, count#72]
-
-(61) HashAggregate [codegen id : 9]
+(60) CometHashAggregate
Input [4]: [sum#66, count#67, count#68, count#72]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#63)), count(ss_list_price#63),
count(distinct ss_list_price#63)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#63))#69,
count(ss_list_price#63)#70, count(ss_list_price#63)#71]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#63))#69 / 100.0) as
decimal(11,6)) AS B5_LP#73, count(ss_list_price#63)#70 AS B5_CNT#74,
count(ss_list_price#63)#71 AS B5_CNTD#75]
+
+(61) CometColumnarToRow [codegen id : 9]
+Input [3]: [B5_LP#73, B5_CNT#74, B5_CNTD#75]
(62) BroadcastExchange
Input [3]: [B5_LP#73, B5_CNT#74, B5_CNTD#75]
@@ -429,15 +419,13 @@ Results [4]: [sum#81, count#82, count#83, count#87]
Input [4]: [sum#81, count#82, count#83, count#87]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=16]
-(73) CometColumnarToRow [codegen id : 11]
-Input [4]: [sum#81, count#82, count#83, count#87]
-
-(74) HashAggregate [codegen id : 11]
+(73) CometHashAggregate
Input [4]: [sum#81, count#82, count#83, count#87]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#78)), count(ss_list_price#78),
count(distinct ss_list_price#78)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#78))#84,
count(ss_list_price#78)#85, count(ss_list_price#78)#86]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#78))#84 / 100.0) as
decimal(11,6)) AS B6_LP#88, count(ss_list_price#78)#85 AS B6_CNT#89,
count(ss_list_price#78)#86 AS B6_CNTD#90]
+
+(74) CometColumnarToRow [codegen id : 11]
+Input [3]: [B6_LP#88, B6_CNT#89, B6_CNTD#90]
(75) BroadcastExchange
Input [3]: [B6_LP#88, B6_CNT#89, B6_CNTD#90]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark4_0/q28/simplified.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark4_0/q28/simplified.txt
index 9c6a3da62..ce476affd 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark4_0/q28/simplified.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4-spark4_0/q28/simplified.txt
@@ -4,9 +4,9 @@ WholeStageCodegen (12)
BroadcastNestedLoopJoin
BroadcastNestedLoopJoin
BroadcastNestedLoopJoin
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B1_LP,B1_CNT,B1_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B1_LP,B1_CNT,B1_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #1
WholeStageCodegen (1)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -21,9 +21,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #3
WholeStageCodegen (3)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B2_LP,B2_CNT,B2_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B2_LP,B2_CNT,B2_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #4
WholeStageCodegen (2)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -38,9 +38,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #6
WholeStageCodegen (5)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B3_LP,B3_CNT,B3_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B3_LP,B3_CNT,B3_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #7
WholeStageCodegen (4)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -55,9 +55,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #9
WholeStageCodegen (7)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B4_LP,B4_CNT,B4_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B4_LP,B4_CNT,B4_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #10
WholeStageCodegen (6)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -72,9 +72,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #12
WholeStageCodegen (9)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B5_LP,B5_CNT,B5_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B5_LP,B5_CNT,B5_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #13
WholeStageCodegen (8)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -89,9 +89,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #15
WholeStageCodegen (11)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B6_LP,B6_CNT,B6_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B6_LP,B6_CNT,B6_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #16
WholeStageCodegen (10)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16/explain.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16/explain.txt
index 1654e70a5..f2473f1f0 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16/explain.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16/explain.txt
@@ -1,6 +1,6 @@
== Physical Plan ==
-* HashAggregate (41)
-+- * CometColumnarToRow (40)
+* CometColumnarToRow (41)
++- CometHashAggregate (40)
+- CometColumnarExchange (39)
+- * HashAggregate (38)
+- * HashAggregate (37)
@@ -225,13 +225,11 @@ Results [3]: [sum#20, sum#21, count#25]
Input [3]: [sum#20, sum#21, count#25]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=4]
-(40) CometColumnarToRow [codegen id : 2]
-Input [3]: [sum#20, sum#21, count#25]
-
-(41) HashAggregate [codegen id : 2]
+(40) CometHashAggregate
Input [3]: [sum#20, sum#21, count#25]
Keys: []
Functions [3]: [sum(UnscaledValue(cs_ext_ship_cost#6)),
sum(UnscaledValue(cs_net_profit#7)), count(distinct cs_order_number#5)]
-Aggregate Attributes [3]: [sum(UnscaledValue(cs_ext_ship_cost#6))#22,
sum(UnscaledValue(cs_net_profit#7))#23, count(cs_order_number#5)#24]
-Results [3]: [count(cs_order_number#5)#24 AS order count #26,
MakeDecimal(sum(UnscaledValue(cs_ext_ship_cost#6))#22,17,2) AS total shipping
cost #27, MakeDecimal(sum(UnscaledValue(cs_net_profit#7))#23,17,2) AS total net
profit #28]
+
+(41) CometColumnarToRow [codegen id : 2]
+Input [3]: [order count #26, total shipping cost #27, total net profit #28]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16/simplified.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16/simplified.txt
index c703a75e7..8427aa49a 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16/simplified.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q16/simplified.txt
@@ -1,7 +1,7 @@
WholeStageCodegen (2)
- HashAggregate [sum,sum,count]
[sum(UnscaledValue(cs_ext_ship_cost)),sum(UnscaledValue(cs_net_profit)),count(cs_order_number),order
count ,total shipping cost ,total net profit ,sum,sum,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,sum,count] [order count ,total shipping cost
,total net profit
,count(cs_order_number),sum(UnscaledValue(cs_ext_ship_cost)),sum(UnscaledValue(cs_net_profit))]
CometColumnarExchange #1
WholeStageCodegen (1)
HashAggregate [cs_order_number]
[sum(UnscaledValue(cs_ext_ship_cost)),sum(UnscaledValue(cs_net_profit)),count(cs_order_number),sum,sum,count,sum,sum,count]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q28/explain.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q28/explain.txt
index c0b28ec54..98ac957fc 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q28/explain.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q28/explain.txt
@@ -4,8 +4,8 @@
: :- * BroadcastNestedLoopJoin Inner BuildRight (50)
: : :- * BroadcastNestedLoopJoin Inner BuildRight (37)
: : : :- * BroadcastNestedLoopJoin Inner BuildRight (24)
-: : : : :- * HashAggregate (11)
-: : : : : +- * CometColumnarToRow (10)
+: : : : :- * CometColumnarToRow (11)
+: : : : : +- CometHashAggregate (10)
: : : : : +- CometColumnarExchange (9)
: : : : : +- * HashAggregate (8)
: : : : : +- * HashAggregate (7)
@@ -16,8 +16,8 @@
: : : : : +- CometFilter (2)
: : : : : +- CometScan [native_iceberg_compat]
parquet spark_catalog.default.store_sales (1)
: : : : +- BroadcastExchange (23)
-: : : : +- * HashAggregate (22)
-: : : : +- * CometColumnarToRow (21)
+: : : : +- * CometColumnarToRow (22)
+: : : : +- CometHashAggregate (21)
: : : : +- CometColumnarExchange (20)
: : : : +- * HashAggregate (19)
: : : : +- * HashAggregate (18)
@@ -28,8 +28,8 @@
: : : : +- CometFilter (13)
: : : : +- CometScan
[native_iceberg_compat] parquet spark_catalog.default.store_sales (12)
: : : +- BroadcastExchange (36)
-: : : +- * HashAggregate (35)
-: : : +- * CometColumnarToRow (34)
+: : : +- * CometColumnarToRow (35)
+: : : +- CometHashAggregate (34)
: : : +- CometColumnarExchange (33)
: : : +- * HashAggregate (32)
: : : +- * HashAggregate (31)
@@ -40,8 +40,8 @@
: : : +- CometFilter (26)
: : : +- CometScan [native_iceberg_compat]
parquet spark_catalog.default.store_sales (25)
: : +- BroadcastExchange (49)
-: : +- * HashAggregate (48)
-: : +- * CometColumnarToRow (47)
+: : +- * CometColumnarToRow (48)
+: : +- CometHashAggregate (47)
: : +- CometColumnarExchange (46)
: : +- * HashAggregate (45)
: : +- * HashAggregate (44)
@@ -52,8 +52,8 @@
: : +- CometFilter (39)
: : +- CometScan [native_iceberg_compat]
parquet spark_catalog.default.store_sales (38)
: +- BroadcastExchange (62)
-: +- * HashAggregate (61)
-: +- * CometColumnarToRow (60)
+: +- * CometColumnarToRow (61)
+: +- CometHashAggregate (60)
: +- CometColumnarExchange (59)
: +- * HashAggregate (58)
: +- * HashAggregate (57)
@@ -64,8 +64,8 @@
: +- CometFilter (52)
: +- CometScan [native_iceberg_compat]
parquet spark_catalog.default.store_sales (51)
+- BroadcastExchange (75)
- +- * HashAggregate (74)
- +- * CometColumnarToRow (73)
+ +- * CometColumnarToRow (74)
+ +- CometHashAggregate (73)
+- CometColumnarExchange (72)
+- * HashAggregate (71)
+- * HashAggregate (70)
@@ -122,15 +122,13 @@ Results [4]: [sum#6, count#7, count#8, count#12]
Input [4]: [sum#6, count#7, count#8, count#12]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=2]
-(10) CometColumnarToRow [codegen id : 12]
-Input [4]: [sum#6, count#7, count#8, count#12]
-
-(11) HashAggregate [codegen id : 12]
+(10) CometHashAggregate
Input [4]: [sum#6, count#7, count#8, count#12]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#3)), count(ss_list_price#3),
count(distinct ss_list_price#3)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#3))#9,
count(ss_list_price#3)#10, count(ss_list_price#3)#11]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#3))#9 / 100.0) as
decimal(11,6)) AS B1_LP#13, count(ss_list_price#3)#10 AS B1_CNT#14,
count(ss_list_price#3)#11 AS B1_CNTD#15]
+
+(11) CometColumnarToRow [codegen id : 12]
+Input [3]: [B1_LP#13, B1_CNT#14, B1_CNTD#15]
(12) CometScan [native_iceberg_compat] parquet
spark_catalog.default.store_sales
Output [5]: [ss_quantity#16, ss_wholesale_cost#17, ss_list_price#18,
ss_coupon_amt#19, ss_sold_date_sk#20]
@@ -177,15 +175,13 @@ Results [4]: [sum#21, count#22, count#23, count#27]
Input [4]: [sum#21, count#22, count#23, count#27]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=4]
-(21) CometColumnarToRow [codegen id : 3]
-Input [4]: [sum#21, count#22, count#23, count#27]
-
-(22) HashAggregate [codegen id : 3]
+(21) CometHashAggregate
Input [4]: [sum#21, count#22, count#23, count#27]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#18)), count(ss_list_price#18),
count(distinct ss_list_price#18)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#18))#24,
count(ss_list_price#18)#25, count(ss_list_price#18)#26]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#18))#24 / 100.0) as
decimal(11,6)) AS B2_LP#28, count(ss_list_price#18)#25 AS B2_CNT#29,
count(ss_list_price#18)#26 AS B2_CNTD#30]
+
+(22) CometColumnarToRow [codegen id : 3]
+Input [3]: [B2_LP#28, B2_CNT#29, B2_CNTD#30]
(23) BroadcastExchange
Input [3]: [B2_LP#28, B2_CNT#29, B2_CNTD#30]
@@ -240,15 +236,13 @@ Results [4]: [sum#36, count#37, count#38, count#42]
Input [4]: [sum#36, count#37, count#38, count#42]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=7]
-(34) CometColumnarToRow [codegen id : 5]
-Input [4]: [sum#36, count#37, count#38, count#42]
-
-(35) HashAggregate [codegen id : 5]
+(34) CometHashAggregate
Input [4]: [sum#36, count#37, count#38, count#42]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#33)), count(ss_list_price#33),
count(distinct ss_list_price#33)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#33))#39,
count(ss_list_price#33)#40, count(ss_list_price#33)#41]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#33))#39 / 100.0) as
decimal(11,6)) AS B3_LP#43, count(ss_list_price#33)#40 AS B3_CNT#44,
count(ss_list_price#33)#41 AS B3_CNTD#45]
+
+(35) CometColumnarToRow [codegen id : 5]
+Input [3]: [B3_LP#43, B3_CNT#44, B3_CNTD#45]
(36) BroadcastExchange
Input [3]: [B3_LP#43, B3_CNT#44, B3_CNTD#45]
@@ -303,15 +297,13 @@ Results [4]: [sum#51, count#52, count#53, count#57]
Input [4]: [sum#51, count#52, count#53, count#57]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=10]
-(47) CometColumnarToRow [codegen id : 7]
-Input [4]: [sum#51, count#52, count#53, count#57]
-
-(48) HashAggregate [codegen id : 7]
+(47) CometHashAggregate
Input [4]: [sum#51, count#52, count#53, count#57]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#48)), count(ss_list_price#48),
count(distinct ss_list_price#48)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#48))#54,
count(ss_list_price#48)#55, count(ss_list_price#48)#56]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#48))#54 / 100.0) as
decimal(11,6)) AS B4_LP#58, count(ss_list_price#48)#55 AS B4_CNT#59,
count(ss_list_price#48)#56 AS B4_CNTD#60]
+
+(48) CometColumnarToRow [codegen id : 7]
+Input [3]: [B4_LP#58, B4_CNT#59, B4_CNTD#60]
(49) BroadcastExchange
Input [3]: [B4_LP#58, B4_CNT#59, B4_CNTD#60]
@@ -366,15 +358,13 @@ Results [4]: [sum#66, count#67, count#68, count#72]
Input [4]: [sum#66, count#67, count#68, count#72]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=13]
-(60) CometColumnarToRow [codegen id : 9]
-Input [4]: [sum#66, count#67, count#68, count#72]
-
-(61) HashAggregate [codegen id : 9]
+(60) CometHashAggregate
Input [4]: [sum#66, count#67, count#68, count#72]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#63)), count(ss_list_price#63),
count(distinct ss_list_price#63)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#63))#69,
count(ss_list_price#63)#70, count(ss_list_price#63)#71]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#63))#69 / 100.0) as
decimal(11,6)) AS B5_LP#73, count(ss_list_price#63)#70 AS B5_CNT#74,
count(ss_list_price#63)#71 AS B5_CNTD#75]
+
+(61) CometColumnarToRow [codegen id : 9]
+Input [3]: [B5_LP#73, B5_CNT#74, B5_CNTD#75]
(62) BroadcastExchange
Input [3]: [B5_LP#73, B5_CNT#74, B5_CNTD#75]
@@ -429,15 +419,13 @@ Results [4]: [sum#81, count#82, count#83, count#87]
Input [4]: [sum#81, count#82, count#83, count#87]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=16]
-(73) CometColumnarToRow [codegen id : 11]
-Input [4]: [sum#81, count#82, count#83, count#87]
-
-(74) HashAggregate [codegen id : 11]
+(73) CometHashAggregate
Input [4]: [sum#81, count#82, count#83, count#87]
Keys: []
Functions [3]: [avg(UnscaledValue(ss_list_price#78)), count(ss_list_price#78),
count(distinct ss_list_price#78)]
-Aggregate Attributes [3]: [avg(UnscaledValue(ss_list_price#78))#84,
count(ss_list_price#78)#85, count(ss_list_price#78)#86]
-Results [3]: [cast((avg(UnscaledValue(ss_list_price#78))#84 / 100.0) as
decimal(11,6)) AS B6_LP#88, count(ss_list_price#78)#85 AS B6_CNT#89,
count(ss_list_price#78)#86 AS B6_CNTD#90]
+
+(74) CometColumnarToRow [codegen id : 11]
+Input [3]: [B6_LP#88, B6_CNT#89, B6_CNTD#90]
(75) BroadcastExchange
Input [3]: [B6_LP#88, B6_CNT#89, B6_CNTD#90]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q28/simplified.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q28/simplified.txt
index 9c6a3da62..ce476affd 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q28/simplified.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q28/simplified.txt
@@ -4,9 +4,9 @@ WholeStageCodegen (12)
BroadcastNestedLoopJoin
BroadcastNestedLoopJoin
BroadcastNestedLoopJoin
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B1_LP,B1_CNT,B1_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B1_LP,B1_CNT,B1_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #1
WholeStageCodegen (1)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -21,9 +21,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #3
WholeStageCodegen (3)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B2_LP,B2_CNT,B2_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B2_LP,B2_CNT,B2_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #4
WholeStageCodegen (2)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -38,9 +38,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #6
WholeStageCodegen (5)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B3_LP,B3_CNT,B3_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B3_LP,B3_CNT,B3_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #7
WholeStageCodegen (4)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -55,9 +55,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #9
WholeStageCodegen (7)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B4_LP,B4_CNT,B4_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B4_LP,B4_CNT,B4_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #10
WholeStageCodegen (6)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -72,9 +72,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #12
WholeStageCodegen (9)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B5_LP,B5_CNT,B5_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B5_LP,B5_CNT,B5_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #13
WholeStageCodegen (8)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
@@ -89,9 +89,9 @@ WholeStageCodegen (12)
InputAdapter
BroadcastExchange #15
WholeStageCodegen (11)
- HashAggregate [sum,count,count,count]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),B6_LP,B6_CNT,B6_CNTD,sum,count,count,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,count,count,count]
[B6_LP,B6_CNT,B6_CNTD,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
CometColumnarExchange #16
WholeStageCodegen (10)
HashAggregate [ss_list_price]
[avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94/explain.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94/explain.txt
index 3caf1593d..8164e345a 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94/explain.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94/explain.txt
@@ -1,6 +1,6 @@
== Physical Plan ==
-* HashAggregate (41)
-+- * CometColumnarToRow (40)
+* CometColumnarToRow (41)
++- CometHashAggregate (40)
+- CometColumnarExchange (39)
+- * HashAggregate (38)
+- * HashAggregate (37)
@@ -225,13 +225,11 @@ Results [3]: [sum#20, sum#21, count#25]
Input [3]: [sum#20, sum#21, count#25]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=4]
-(40) CometColumnarToRow [codegen id : 2]
-Input [3]: [sum#20, sum#21, count#25]
-
-(41) HashAggregate [codegen id : 2]
+(40) CometHashAggregate
Input [3]: [sum#20, sum#21, count#25]
Keys: []
Functions [3]: [sum(UnscaledValue(ws_ext_ship_cost#6)),
sum(UnscaledValue(ws_net_profit#7)), count(distinct ws_order_number#5)]
-Aggregate Attributes [3]: [sum(UnscaledValue(ws_ext_ship_cost#6))#22,
sum(UnscaledValue(ws_net_profit#7))#23, count(ws_order_number#5)#24]
-Results [3]: [count(ws_order_number#5)#24 AS order count #26,
MakeDecimal(sum(UnscaledValue(ws_ext_ship_cost#6))#22,17,2) AS total shipping
cost #27, MakeDecimal(sum(UnscaledValue(ws_net_profit#7))#23,17,2) AS total net
profit #28]
+
+(41) CometColumnarToRow [codegen id : 2]
+Input [3]: [order count #26, total shipping cost #27, total net profit #28]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94/simplified.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94/simplified.txt
index bf85b844c..629178d10 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94/simplified.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q94/simplified.txt
@@ -1,7 +1,7 @@
WholeStageCodegen (2)
- HashAggregate [sum,sum,count]
[sum(UnscaledValue(ws_ext_ship_cost)),sum(UnscaledValue(ws_net_profit)),count(ws_order_number),order
count ,total shipping cost ,total net profit ,sum,sum,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,sum,count] [order count ,total shipping cost
,total net profit
,count(ws_order_number),sum(UnscaledValue(ws_ext_ship_cost)),sum(UnscaledValue(ws_net_profit))]
CometColumnarExchange #1
WholeStageCodegen (1)
HashAggregate [ws_order_number]
[sum(UnscaledValue(ws_ext_ship_cost)),sum(UnscaledValue(ws_net_profit)),count(ws_order_number),sum,sum,count,sum,sum,count]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95/explain.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95/explain.txt
index b149119f5..5c319928e 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95/explain.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95/explain.txt
@@ -1,6 +1,6 @@
== Physical Plan ==
-* HashAggregate (54)
-+- * CometColumnarToRow (53)
+* CometColumnarToRow (54)
++- CometHashAggregate (53)
+- CometColumnarExchange (52)
+- * HashAggregate (51)
+- * HashAggregate (50)
@@ -292,13 +292,11 @@ Results [3]: [sum#21, sum#22, count#26]
Input [3]: [sum#21, sum#22, count#26]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, CometColumnarShuffle,
[plan_id=4]
-(53) CometColumnarToRow [codegen id : 2]
-Input [3]: [sum#21, sum#22, count#26]
-
-(54) HashAggregate [codegen id : 2]
+(53) CometHashAggregate
Input [3]: [sum#21, sum#22, count#26]
Keys: []
Functions [3]: [sum(UnscaledValue(ws_ext_ship_cost#5)),
sum(UnscaledValue(ws_net_profit#6)), count(distinct ws_order_number#4)]
-Aggregate Attributes [3]: [sum(UnscaledValue(ws_ext_ship_cost#5))#23,
sum(UnscaledValue(ws_net_profit#6))#24, count(ws_order_number#4)#25]
-Results [3]: [count(ws_order_number#4)#25 AS order count #27,
MakeDecimal(sum(UnscaledValue(ws_ext_ship_cost#5))#23,17,2) AS total shipping
cost #28, MakeDecimal(sum(UnscaledValue(ws_net_profit#6))#24,17,2) AS total net
profit #29]
+
+(54) CometColumnarToRow [codegen id : 2]
+Input [3]: [order count #27, total shipping cost #28, total net profit #29]
diff --git
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95/simplified.txt
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95/simplified.txt
index 3e9cdb81f..6c1b1bccf 100644
---
a/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95/simplified.txt
+++
b/spark/src/test/resources/tpcds-plan-stability/approved-plans-v1_4/q95/simplified.txt
@@ -1,7 +1,7 @@
WholeStageCodegen (2)
- HashAggregate [sum,sum,count]
[sum(UnscaledValue(ws_ext_ship_cost)),sum(UnscaledValue(ws_net_profit)),count(ws_order_number),order
count ,total shipping cost ,total net profit ,sum,sum,count]
- CometColumnarToRow
- InputAdapter
+ CometColumnarToRow
+ InputAdapter
+ CometHashAggregate [sum,sum,count] [order count ,total shipping cost
,total net profit
,count(ws_order_number),sum(UnscaledValue(ws_ext_ship_cost)),sum(UnscaledValue(ws_net_profit))]
CometColumnarExchange #1
WholeStageCodegen (1)
HashAggregate [ws_order_number]
[sum(UnscaledValue(ws_ext_ship_cost)),sum(UnscaledValue(ws_net_profit)),count(ws_order_number),sum,sum,count,sum,sum,count]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]