== Physical Plan ==
* ColumnarToRow (45)
+- CometSort (44)
   +- CometColumnarExchange (43)
      +- * Filter (42)
         +- * HashAggregate (41)
            +- Exchange (40)
               +- * HashAggregate (39)
                  +- * HashAggregate (38)
                     +- Exchange (37)
                        +- * HashAggregate (36)
                           +- * Project (35)
                              +- * BroadcastHashJoin Inner BuildRight (34)
                                 :- * ColumnarToRow (29)
                                 :  +- CometProject (28)
                                 :     +- CometBroadcastHashJoin (27)
                                 :        :- CometProject (23)
                                 :        :  +- CometBroadcastHashJoin (22)
                                 :        :     :- CometProject (18)
                                 :        :     :  +- CometBroadcastHashJoin (17)
                                 :        :     :     :- CometProject (12)
                                 :        :     :     :  +- CometSortMergeJoin (11)
                                 :        :     :     :     :- CometSort (5)
                                 :        :     :     :     :  +- CometExchange (4)
                                 :        :     :     :     :     +- CometProject (3)
                                 :        :     :     :     :        +- CometFilter (2)
                                 :        :     :     :     :           +- CometNativeScan: `spark_catalog`.`default`.`store_sales` (1)
                                 :        :     :     :     +- CometSort (10)
                                 :        :     :     :        +- CometExchange (9)
                                 :        :     :     :           +- CometProject (8)
                                 :        :     :     :              +- CometFilter (7)
                                 :        :     :     :                 +- CometNativeScan: `spark_catalog`.`default`.`store_returns` (6)
                                 :        :     :     +- CometBroadcastExchange (16)
                                 :        :     :        +- CometProject (15)
                                 :        :     :           +- CometFilter (14)
                                 :        :     :              +- CometNativeScan: `spark_catalog`.`default`.`store` (13)
                                 :        :     +- CometBroadcastExchange (21)
                                 :        :        +- CometFilter (20)
                                 :        :           +- CometNativeScan: `spark_catalog`.`default`.`item` (19)
                                 :        +- CometBroadcastExchange (26)
                                 :           +- CometFilter (25)
                                 :              +- CometNativeScan: `spark_catalog`.`default`.`customer` (24)
                                 +- BroadcastExchange (33)
                                    +- * ColumnarToRow (32)
                                       +- CometFilter (31)
                                          +- CometNativeScan: `spark_catalog`.`default`.`customer_address` (30)


(1) CometNativeScan: `spark_catalog`.`default`.`store_sales`
Output [6]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, ss_sold_date_sk#6]
Arguments: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, ss_sold_date_sk#6]

(2) CometFilter
Input [6]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, ss_sold_date_sk#6]
Condition : (((isnotnull(ss_ticket_number#4) AND isnotnull(ss_item_sk#1)) AND isnotnull(ss_store_sk#3)) AND isnotnull(ss_customer_sk#2))

(3) CometProject
Input [6]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, ss_sold_date_sk#6]
Arguments: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5], [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5]

(4) CometExchange
Input [5]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5]
Arguments: hashpartitioning(ss_ticket_number#4, ss_item_sk#1, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=1]

(5) CometSort
Input [5]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5]
Arguments: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5], [ss_ticket_number#4 ASC NULLS FIRST, ss_item_sk#1 ASC NULLS FIRST]

(6) CometNativeScan: `spark_catalog`.`default`.`store_returns`
Output [3]: [sr_item_sk#7, sr_ticket_number#8, sr_returned_date_sk#9]
Arguments: [sr_item_sk#7, sr_ticket_number#8, sr_returned_date_sk#9]

(7) CometFilter
Input [3]: [sr_item_sk#7, sr_ticket_number#8, sr_returned_date_sk#9]
Condition : (isnotnull(sr_ticket_number#8) AND isnotnull(sr_item_sk#7))

(8) CometProject
Input [3]: [sr_item_sk#7, sr_ticket_number#8, sr_returned_date_sk#9]
Arguments: [sr_item_sk#7, sr_ticket_number#8], [sr_item_sk#7, sr_ticket_number#8]

(9) CometExchange
Input [2]: [sr_item_sk#7, sr_ticket_number#8]
Arguments: hashpartitioning(sr_ticket_number#8, sr_item_sk#7, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=2]

(10) CometSort
Input [2]: [sr_item_sk#7, sr_ticket_number#8]
Arguments: [sr_item_sk#7, sr_ticket_number#8], [sr_ticket_number#8 ASC NULLS FIRST, sr_item_sk#7 ASC NULLS FIRST]

(11) CometSortMergeJoin
Left output [5]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5]
Right output [2]: [sr_item_sk#7, sr_ticket_number#8]
Arguments: [ss_ticket_number#4, ss_item_sk#1], [sr_ticket_number#8, sr_item_sk#7], Inner

(12) CometProject
Input [7]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, sr_item_sk#7, sr_ticket_number#8]
Arguments: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_net_paid#5], [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_net_paid#5]

(13) CometNativeScan: `spark_catalog`.`default`.`store`
Output [5]: [s_store_sk#10, s_store_name#11, s_market_id#12, s_state#13, s_zip#14]
Arguments: [s_store_sk#10, s_store_name#11, s_market_id#12, s_state#13, s_zip#14]

(14) CometFilter
Input [5]: [s_store_sk#10, s_store_name#11, s_market_id#12, s_state#13, s_zip#14]
Condition : (((isnotnull(s_market_id#12) AND (s_market_id#12 = 8)) AND isnotnull(s_store_sk#10)) AND isnotnull(s_zip#14))

(15) CometProject
Input [5]: [s_store_sk#10, s_store_name#11, s_market_id#12, s_state#13, s_zip#14]
Arguments: [s_store_sk#10, s_store_name#11, s_state#13, s_zip#14], [s_store_sk#10, s_store_name#11, s_state#13, s_zip#14]

(16) CometBroadcastExchange
Input [4]: [s_store_sk#10, s_store_name#11, s_state#13, s_zip#14]
Arguments: [s_store_sk#10, s_store_name#11, s_state#13, s_zip#14]

(17) CometBroadcastHashJoin
Left output [4]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_net_paid#5]
Right output [4]: [s_store_sk#10, s_store_name#11, s_state#13, s_zip#14]
Arguments: [ss_store_sk#3], [s_store_sk#10], Inner, BuildRight

(18) CometProject
Input [8]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_net_paid#5, s_store_sk#10, s_store_name#11, s_state#13, s_zip#14]
Arguments: [ss_item_sk#1, ss_customer_sk#2, ss_net_paid#5, s_store_name#11, s_state#13, s_zip#14], [ss_item_sk#1, ss_customer_sk#2, ss_net_paid#5, s_store_name#11, s_state#13, s_zip#14]

(19) CometNativeScan: `spark_catalog`.`default`.`item`
Output [6]: [i_item_sk#15, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20]
Arguments: [i_item_sk#15, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20]

(20) CometFilter
Input [6]: [i_item_sk#15, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20]
Condition : ((isnotnull(i_color#18) AND (i_color#18 = pale                )) AND isnotnull(i_item_sk#15))

(21) CometBroadcastExchange
Input [6]: [i_item_sk#15, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20]
Arguments: [i_item_sk#15, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20]

(22) CometBroadcastHashJoin
Left output [6]: [ss_item_sk#1, ss_customer_sk#2, ss_net_paid#5, s_store_name#11, s_state#13, s_zip#14]
Right output [6]: [i_item_sk#15, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20]
Arguments: [ss_item_sk#1], [i_item_sk#15], Inner, BuildRight

(23) CometProject
Input [12]: [ss_item_sk#1, ss_customer_sk#2, ss_net_paid#5, s_store_name#11, s_state#13, s_zip#14, i_item_sk#15, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20]
Arguments: [ss_customer_sk#2, ss_net_paid#5, s_store_name#11, s_state#13, s_zip#14, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20], [ss_customer_sk#2, ss_net_paid#5, s_store_name#11, s_state#13, s_zip#14, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20]

(24) CometNativeScan: `spark_catalog`.`default`.`customer`
Output [5]: [c_customer_sk#21, c_current_addr_sk#22, c_first_name#23, c_last_name#24, c_birth_country#25]
Arguments: [c_customer_sk#21, c_current_addr_sk#22, c_first_name#23, c_last_name#24, c_birth_country#25]

(25) CometFilter
Input [5]: [c_customer_sk#21, c_current_addr_sk#22, c_first_name#23, c_last_name#24, c_birth_country#25]
Condition : ((isnotnull(c_customer_sk#21) AND isnotnull(c_current_addr_sk#22)) AND isnotnull(c_birth_country#25))

(26) CometBroadcastExchange
Input [5]: [c_customer_sk#21, c_current_addr_sk#22, c_first_name#23, c_last_name#24, c_birth_country#25]
Arguments: [c_customer_sk#21, c_current_addr_sk#22, c_first_name#23, c_last_name#24, c_birth_country#25]

(27) CometBroadcastHashJoin
Left output [10]: [ss_customer_sk#2, ss_net_paid#5, s_store_name#11, s_state#13, s_zip#14, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20]
Right output [5]: [c_customer_sk#21, c_current_addr_sk#22, c_first_name#23, c_last_name#24, c_birth_country#25]
Arguments: [ss_customer_sk#2], [c_customer_sk#21], Inner, BuildRight

(28) CometProject
Input [15]: [ss_customer_sk#2, ss_net_paid#5, s_store_name#11, s_state#13, s_zip#14, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20, c_customer_sk#21, c_current_addr_sk#22, c_first_name#23, c_last_name#24, c_birth_country#25]
Arguments: [ss_net_paid#5, s_store_name#11, s_state#13, s_zip#14, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20, c_current_addr_sk#22, c_first_name#23, c_last_name#24, c_birth_country#25], [ss_net_paid#5, s_store_name#11, s_state#13, s_zip#14, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20, c_current_addr_sk#22, c_first_name#23, c_last_name#24, c_birth_country#25]

(29) ColumnarToRow [codegen id : 2]
Input [13]: [ss_net_paid#5, s_store_name#11, s_state#13, s_zip#14, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20, c_current_addr_sk#22, c_first_name#23, c_last_name#24, c_birth_country#25]

(30) CometNativeScan: `spark_catalog`.`default`.`customer_address`
Output [4]: [ca_address_sk#26, ca_state#27, ca_zip#28, ca_country#29]
Arguments: [ca_address_sk#26, ca_state#27, ca_zip#28, ca_country#29]

(31) CometFilter
Input [4]: [ca_address_sk#26, ca_state#27, ca_zip#28, ca_country#29]
Condition : ((isnotnull(ca_address_sk#26) AND isnotnull(ca_country#29)) AND isnotnull(ca_zip#28))

(32) ColumnarToRow [codegen id : 1]
Input [4]: [ca_address_sk#26, ca_state#27, ca_zip#28, ca_country#29]

(33) BroadcastExchange
Input [4]: [ca_address_sk#26, ca_state#27, ca_zip#28, ca_country#29]
Arguments: HashedRelationBroadcastMode(List(input[0, int, false], upper(input[3, string, false]), input[2, string, false]),false), [plan_id=3]

(34) BroadcastHashJoin [codegen id : 2]
Left keys [3]: [c_current_addr_sk#22, c_birth_country#25, s_zip#14]
Right keys [3]: [ca_address_sk#26, upper(ca_country#29), ca_zip#28]
Join type: Inner
Join condition: None

(35) Project [codegen id : 2]
Output [11]: [ss_net_paid#5, s_store_name#11, s_state#13, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20, c_first_name#23, c_last_name#24, ca_state#27]
Input [17]: [ss_net_paid#5, s_store_name#11, s_state#13, s_zip#14, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20, c_current_addr_sk#22, c_first_name#23, c_last_name#24, c_birth_country#25, ca_address_sk#26, ca_state#27, ca_zip#28, ca_country#29]

(36) HashAggregate [codegen id : 2]
Input [11]: [ss_net_paid#5, s_store_name#11, s_state#13, i_current_price#16, i_size#17, i_color#18, i_units#19, i_manager_id#20, c_first_name#23, c_last_name#24, ca_state#27]
Keys [10]: [c_last_name#24, c_first_name#23, s_store_name#11, ca_state#27, s_state#13, i_color#18, i_current_price#16, i_manager_id#20, i_units#19, i_size#17]
Functions [1]: [partial_sum(UnscaledValue(ss_net_paid#5))]
Aggregate Attributes [1]: [sum#30]
Results [11]: [c_last_name#24, c_first_name#23, s_store_name#11, ca_state#27, s_state#13, i_color#18, i_current_price#16, i_manager_id#20, i_units#19, i_size#17, sum#31]

(37) Exchange
Input [11]: [c_last_name#24, c_first_name#23, s_store_name#11, ca_state#27, s_state#13, i_color#18, i_current_price#16, i_manager_id#20, i_units#19, i_size#17, sum#31]
Arguments: hashpartitioning(c_last_name#24, c_first_name#23, s_store_name#11, ca_state#27, s_state#13, i_color#18, i_current_price#16, i_manager_id#20, i_units#19, i_size#17, 5), ENSURE_REQUIREMENTS, [plan_id=4]

(38) HashAggregate [codegen id : 3]
Input [11]: [c_last_name#24, c_first_name#23, s_store_name#11, ca_state#27, s_state#13, i_color#18, i_current_price#16, i_manager_id#20, i_units#19, i_size#17, sum#31]
Keys [10]: [c_last_name#24, c_first_name#23, s_store_name#11, ca_state#27, s_state#13, i_color#18, i_current_price#16, i_manager_id#20, i_units#19, i_size#17]
Functions [1]: [sum(UnscaledValue(ss_net_paid#5))]
Aggregate Attributes [1]: [sum(UnscaledValue(ss_net_paid#5))#32]
Results [4]: [c_last_name#24, c_first_name#23, s_store_name#11, MakeDecimal(sum(UnscaledValue(ss_net_paid#5))#32,17,2) AS netpaid#33]

(39) HashAggregate [codegen id : 3]
Input [4]: [c_last_name#24, c_first_name#23, s_store_name#11, netpaid#33]
Keys [3]: [c_last_name#24, c_first_name#23, s_store_name#11]
Functions [1]: [partial_sum(netpaid#33)]
Aggregate Attributes [2]: [sum#34, isEmpty#35]
Results [5]: [c_last_name#24, c_first_name#23, s_store_name#11, sum#36, isEmpty#37]

(40) Exchange
Input [5]: [c_last_name#24, c_first_name#23, s_store_name#11, sum#36, isEmpty#37]
Arguments: hashpartitioning(c_last_name#24, c_first_name#23, s_store_name#11, 5), ENSURE_REQUIREMENTS, [plan_id=5]

(41) HashAggregate [codegen id : 4]
Input [5]: [c_last_name#24, c_first_name#23, s_store_name#11, sum#36, isEmpty#37]
Keys [3]: [c_last_name#24, c_first_name#23, s_store_name#11]
Functions [1]: [sum(netpaid#33)]
Aggregate Attributes [1]: [sum(netpaid#33)#38]
Results [4]: [c_last_name#24, c_first_name#23, s_store_name#11, sum(netpaid#33)#38 AS paid#39]

(42) Filter [codegen id : 4]
Input [4]: [c_last_name#24, c_first_name#23, s_store_name#11, paid#39]
Condition : (isnotnull(paid#39) AND (cast(paid#39 as decimal(33,8)) > cast(Subquery scalar-subquery#40, [id=#41] as decimal(33,8))))

(43) CometColumnarExchange
Input [4]: [c_last_name#24, c_first_name#23, s_store_name#11, paid#39]
Arguments: rangepartitioning(c_last_name#24 ASC NULLS FIRST, c_first_name#23 ASC NULLS FIRST, s_store_name#11 ASC NULLS FIRST, 5), ENSURE_REQUIREMENTS, CometColumnarShuffle, [plan_id=6]

(44) CometSort
Input [4]: [c_last_name#24, c_first_name#23, s_store_name#11, paid#39]
Arguments: [c_last_name#24, c_first_name#23, s_store_name#11, paid#39], [c_last_name#24 ASC NULLS FIRST, c_first_name#23 ASC NULLS FIRST, s_store_name#11 ASC NULLS FIRST]

(45) ColumnarToRow [codegen id : 5]
Input [4]: [c_last_name#24, c_first_name#23, s_store_name#11, paid#39]

===== Subqueries =====

Subquery:1 Hosting operator id = 42 Hosting Expression = Subquery scalar-subquery#40, [id=#41]
* HashAggregate (72)
+- Exchange (71)
   +- * HashAggregate (70)
      +- * HashAggregate (69)
         +- Exchange (68)
            +- * HashAggregate (67)
               +- * Project (66)
                  +- * BroadcastHashJoin Inner BuildRight (65)
                     :- * ColumnarToRow (63)
                     :  +- CometProject (62)
                     :     +- CometBroadcastHashJoin (61)
                     :        :- CometProject (59)
                     :        :  +- CometBroadcastHashJoin (58)
                     :        :     :- CometProject (54)
                     :        :     :  +- CometBroadcastHashJoin (53)
                     :        :     :     :- CometProject (51)
                     :        :     :     :  +- CometSortMergeJoin (50)
                     :        :     :     :     :- CometSort (47)
                     :        :     :     :     :  +- ReusedExchange (46)
                     :        :     :     :     +- CometSort (49)
                     :        :     :     :        +- ReusedExchange (48)
                     :        :     :     +- ReusedExchange (52)
                     :        :     +- CometBroadcastExchange (57)
                     :        :        +- CometFilter (56)
                     :        :           +- CometNativeScan: `spark_catalog`.`default`.`item` (55)
                     :        +- ReusedExchange (60)
                     +- ReusedExchange (64)


(46) ReusedExchange [Reuses operator id: 4]
Output [5]: [ss_item_sk#42, ss_customer_sk#43, ss_store_sk#44, ss_ticket_number#45, ss_net_paid#46]

(47) CometSort
Input [5]: [ss_item_sk#42, ss_customer_sk#43, ss_store_sk#44, ss_ticket_number#45, ss_net_paid#46]
Arguments: [ss_item_sk#42, ss_customer_sk#43, ss_store_sk#44, ss_ticket_number#45, ss_net_paid#46], [ss_ticket_number#45 ASC NULLS FIRST, ss_item_sk#42 ASC NULLS FIRST]

(48) ReusedExchange [Reuses operator id: 9]
Output [2]: [sr_item_sk#47, sr_ticket_number#48]

(49) CometSort
Input [2]: [sr_item_sk#47, sr_ticket_number#48]
Arguments: [sr_item_sk#47, sr_ticket_number#48], [sr_ticket_number#48 ASC NULLS FIRST, sr_item_sk#47 ASC NULLS FIRST]

(50) CometSortMergeJoin
Left output [5]: [ss_item_sk#42, ss_customer_sk#43, ss_store_sk#44, ss_ticket_number#45, ss_net_paid#46]
Right output [2]: [sr_item_sk#47, sr_ticket_number#48]
Arguments: [ss_ticket_number#45, ss_item_sk#42], [sr_ticket_number#48, sr_item_sk#47], Inner

(51) CometProject
Input [7]: [ss_item_sk#42, ss_customer_sk#43, ss_store_sk#44, ss_ticket_number#45, ss_net_paid#46, sr_item_sk#47, sr_ticket_number#48]
Arguments: [ss_item_sk#42, ss_customer_sk#43, ss_store_sk#44, ss_net_paid#46], [ss_item_sk#42, ss_customer_sk#43, ss_store_sk#44, ss_net_paid#46]

(52) ReusedExchange [Reuses operator id: 16]
Output [4]: [s_store_sk#49, s_store_name#50, s_state#51, s_zip#52]

(53) CometBroadcastHashJoin
Left output [4]: [ss_item_sk#42, ss_customer_sk#43, ss_store_sk#44, ss_net_paid#46]
Right output [4]: [s_store_sk#49, s_store_name#50, s_state#51, s_zip#52]
Arguments: [ss_store_sk#44], [s_store_sk#49], Inner, BuildRight

(54) CometProject
Input [8]: [ss_item_sk#42, ss_customer_sk#43, ss_store_sk#44, ss_net_paid#46, s_store_sk#49, s_store_name#50, s_state#51, s_zip#52]
Arguments: [ss_item_sk#42, ss_customer_sk#43, ss_net_paid#46, s_store_name#50, s_state#51, s_zip#52], [ss_item_sk#42, ss_customer_sk#43, ss_net_paid#46, s_store_name#50, s_state#51, s_zip#52]

(55) CometNativeScan: `spark_catalog`.`default`.`item`
Output [6]: [i_item_sk#53, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58]
Arguments: [i_item_sk#53, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58]

(56) CometFilter
Input [6]: [i_item_sk#53, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58]
Condition : isnotnull(i_item_sk#53)

(57) CometBroadcastExchange
Input [6]: [i_item_sk#53, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58]
Arguments: [i_item_sk#53, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58]

(58) CometBroadcastHashJoin
Left output [6]: [ss_item_sk#42, ss_customer_sk#43, ss_net_paid#46, s_store_name#50, s_state#51, s_zip#52]
Right output [6]: [i_item_sk#53, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58]
Arguments: [ss_item_sk#42], [i_item_sk#53], Inner, BuildRight

(59) CometProject
Input [12]: [ss_item_sk#42, ss_customer_sk#43, ss_net_paid#46, s_store_name#50, s_state#51, s_zip#52, i_item_sk#53, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58]
Arguments: [ss_customer_sk#43, ss_net_paid#46, s_store_name#50, s_state#51, s_zip#52, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58], [ss_customer_sk#43, ss_net_paid#46, s_store_name#50, s_state#51, s_zip#52, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58]

(60) ReusedExchange [Reuses operator id: 26]
Output [5]: [c_customer_sk#59, c_current_addr_sk#60, c_first_name#61, c_last_name#62, c_birth_country#63]

(61) CometBroadcastHashJoin
Left output [10]: [ss_customer_sk#43, ss_net_paid#46, s_store_name#50, s_state#51, s_zip#52, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58]
Right output [5]: [c_customer_sk#59, c_current_addr_sk#60, c_first_name#61, c_last_name#62, c_birth_country#63]
Arguments: [ss_customer_sk#43], [c_customer_sk#59], Inner, BuildRight

(62) CometProject
Input [15]: [ss_customer_sk#43, ss_net_paid#46, s_store_name#50, s_state#51, s_zip#52, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58, c_customer_sk#59, c_current_addr_sk#60, c_first_name#61, c_last_name#62, c_birth_country#63]
Arguments: [ss_net_paid#46, s_store_name#50, s_state#51, s_zip#52, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58, c_current_addr_sk#60, c_first_name#61, c_last_name#62, c_birth_country#63], [ss_net_paid#46, s_store_name#50, s_state#51, s_zip#52, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58, c_current_addr_sk#60, c_first_name#61, c_last_name#62, c_birth_country#63]

(63) ColumnarToRow [codegen id : 2]
Input [13]: [ss_net_paid#46, s_store_name#50, s_state#51, s_zip#52, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58, c_current_addr_sk#60, c_first_name#61, c_last_name#62, c_birth_country#63]

(64) ReusedExchange [Reuses operator id: 33]
Output [4]: [ca_address_sk#64, ca_state#65, ca_zip#66, ca_country#67]

(65) BroadcastHashJoin [codegen id : 2]
Left keys [3]: [c_current_addr_sk#60, c_birth_country#63, s_zip#52]
Right keys [3]: [ca_address_sk#64, upper(ca_country#67), ca_zip#66]
Join type: Inner
Join condition: None

(66) Project [codegen id : 2]
Output [11]: [ss_net_paid#46, s_store_name#50, s_state#51, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58, c_first_name#61, c_last_name#62, ca_state#65]
Input [17]: [ss_net_paid#46, s_store_name#50, s_state#51, s_zip#52, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58, c_current_addr_sk#60, c_first_name#61, c_last_name#62, c_birth_country#63, ca_address_sk#64, ca_state#65, ca_zip#66, ca_country#67]

(67) HashAggregate [codegen id : 2]
Input [11]: [ss_net_paid#46, s_store_name#50, s_state#51, i_current_price#54, i_size#55, i_color#56, i_units#57, i_manager_id#58, c_first_name#61, c_last_name#62, ca_state#65]
Keys [10]: [c_last_name#62, c_first_name#61, s_store_name#50, ca_state#65, s_state#51, i_color#56, i_current_price#54, i_manager_id#58, i_units#57, i_size#55]
Functions [1]: [partial_sum(UnscaledValue(ss_net_paid#46))]
Aggregate Attributes [1]: [sum#68]
Results [11]: [c_last_name#62, c_first_name#61, s_store_name#50, ca_state#65, s_state#51, i_color#56, i_current_price#54, i_manager_id#58, i_units#57, i_size#55, sum#69]

(68) Exchange
Input [11]: [c_last_name#62, c_first_name#61, s_store_name#50, ca_state#65, s_state#51, i_color#56, i_current_price#54, i_manager_id#58, i_units#57, i_size#55, sum#69]
Arguments: hashpartitioning(c_last_name#62, c_first_name#61, s_store_name#50, ca_state#65, s_state#51, i_color#56, i_current_price#54, i_manager_id#58, i_units#57, i_size#55, 5), ENSURE_REQUIREMENTS, [plan_id=7]

(69) HashAggregate [codegen id : 3]
Input [11]: [c_last_name#62, c_first_name#61, s_store_name#50, ca_state#65, s_state#51, i_color#56, i_current_price#54, i_manager_id#58, i_units#57, i_size#55, sum#69]
Keys [10]: [c_last_name#62, c_first_name#61, s_store_name#50, ca_state#65, s_state#51, i_color#56, i_current_price#54, i_manager_id#58, i_units#57, i_size#55]
Functions [1]: [sum(UnscaledValue(ss_net_paid#46))]
Aggregate Attributes [1]: [sum(UnscaledValue(ss_net_paid#46))#32]
Results [1]: [MakeDecimal(sum(UnscaledValue(ss_net_paid#46))#32,17,2) AS netpaid#70]

(70) HashAggregate [codegen id : 3]
Input [1]: [netpaid#70]
Keys: []
Functions [1]: [partial_avg(netpaid#70)]
Aggregate Attributes [2]: [sum#71, count#72]
Results [2]: [sum#73, count#74]

(71) Exchange
Input [2]: [sum#73, count#74]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=8]

(72) HashAggregate [codegen id : 4]
Input [2]: [sum#73, count#74]
Keys: []
Functions [1]: [avg(netpaid#70)]
Aggregate Attributes [1]: [avg(netpaid#70)#75]
Results [1]: [(0.05 * avg(netpaid#70)#75) AS (0.05 * avg(netpaid))#76]


