== Physical Plan ==
* CometColumnarToRow (176)
+- CometSort (175)
   +- CometColumnarExchange (174)
      +- CometProject (173)
         +- CometSortMergeJoin (172)
            :- CometSort (103)
            :  +- CometExchange (102)
            :     +- CometHashAggregate (101)
            :        +- CometHashAggregate (100)
            :           +- CometProject (99)
            :              +- CometBroadcastHashJoin (98)
            :                 :- CometProject (93)
            :                 :  +- CometBroadcastHashJoin (92)
            :                 :     :- CometProject (90)
            :                 :     :  +- CometBroadcastHashJoin (89)
            :                 :     :     :- CometProject (85)
            :                 :     :     :  +- CometBroadcastHashJoin (84)
            :                 :     :     :     :- CometProject (82)
            :                 :     :     :     :  +- CometBroadcastHashJoin (81)
            :                 :     :     :     :     :- CometProject (76)
            :                 :     :     :     :     :  +- CometBroadcastHashJoin (75)
            :                 :     :     :     :     :     :- CometProject (73)
            :                 :     :     :     :     :     :  +- CometBroadcastHashJoin (72)
            :                 :     :     :     :     :     :     :- CometProject (68)
            :                 :     :     :     :     :     :     :  +- CometBroadcastHashJoin (67)
            :                 :     :     :     :     :     :     :     :- CometProject (63)
            :                 :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (62)
            :                 :     :     :     :     :     :     :     :     :- CometProject (60)
            :                 :     :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (59)
            :                 :     :     :     :     :     :     :     :     :     :- CometProject (54)
            :                 :     :     :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (53)
            :                 :     :     :     :     :     :     :     :     :     :     :- CometProject (51)
            :                 :     :     :     :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (50)
            :                 :     :     :     :     :     :     :     :     :     :     :     :- CometProject (46)
            :                 :     :     :     :     :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (45)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :- CometProject (41)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (40)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :- CometProject (35)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (34)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :- CometProject (30)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :  +- CometSortMergeJoin (29)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :- CometSort (10)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :  +- CometExchange (9)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     +- CometProject (8)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :        +- CometBroadcastHashJoin (7)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :           :- CometBroadcastExchange (3)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :           :  +- CometFilter (2)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :           :     +- CometScan [native_iceberg_compat] parquet spark_catalog.default.store_sales (1)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :           +- CometProject (6)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :              +- CometFilter (5)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                 +- CometScan [native_iceberg_compat] parquet spark_catalog.default.store_returns (4)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     +- CometSort (28)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :        +- CometProject (27)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :           +- CometFilter (26)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :              +- CometHashAggregate (25)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                 +- CometExchange (24)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                    +- CometHashAggregate (23)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                       +- CometProject (22)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                          +- CometSortMergeJoin (21)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                             :- CometSort (15)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                             :  +- CometExchange (14)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                             :     +- CometProject (13)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                             :        +- CometFilter (12)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                             :           +- CometScan [native_iceberg_compat] parquet spark_catalog.default.catalog_sales (11)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                             +- CometSort (20)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                                +- CometExchange (19)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                                   +- CometProject (18)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                                      +- CometFilter (17)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                                         +- CometScan [native_iceberg_compat] parquet spark_catalog.default.catalog_returns (16)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :     +- CometBroadcastExchange (33)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :        +- CometFilter (32)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     :           +- CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim (31)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :     +- CometBroadcastExchange (39)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :        +- CometProject (38)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :           +- CometFilter (37)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     :              +- CometScan [native_iceberg_compat] parquet spark_catalog.default.store (36)
            :                 :     :     :     :     :     :     :     :     :     :     :     :     +- CometBroadcastExchange (44)
            :                 :     :     :     :     :     :     :     :     :     :     :     :        +- CometFilter (43)
            :                 :     :     :     :     :     :     :     :     :     :     :     :           +- CometScan [native_iceberg_compat] parquet spark_catalog.default.customer (42)
            :                 :     :     :     :     :     :     :     :     :     :     :     +- CometBroadcastExchange (49)
            :                 :     :     :     :     :     :     :     :     :     :     :        +- CometFilter (48)
            :                 :     :     :     :     :     :     :     :     :     :     :           +- CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim (47)
            :                 :     :     :     :     :     :     :     :     :     :     +- ReusedExchange (52)
            :                 :     :     :     :     :     :     :     :     :     +- CometBroadcastExchange (58)
            :                 :     :     :     :     :     :     :     :     :        +- CometProject (57)
            :                 :     :     :     :     :     :     :     :     :           +- CometFilter (56)
            :                 :     :     :     :     :     :     :     :     :              +- CometScan [native_iceberg_compat] parquet spark_catalog.default.customer_demographics (55)
            :                 :     :     :     :     :     :     :     :     +- ReusedExchange (61)
            :                 :     :     :     :     :     :     :     +- CometBroadcastExchange (66)
            :                 :     :     :     :     :     :     :        +- CometFilter (65)
            :                 :     :     :     :     :     :     :           +- CometScan [native_iceberg_compat] parquet spark_catalog.default.promotion (64)
            :                 :     :     :     :     :     :     +- CometBroadcastExchange (71)
            :                 :     :     :     :     :     :        +- CometFilter (70)
            :                 :     :     :     :     :     :           +- CometScan [native_iceberg_compat] parquet spark_catalog.default.household_demographics (69)
            :                 :     :     :     :     :     +- ReusedExchange (74)
            :                 :     :     :     :     +- CometBroadcastExchange (80)
            :                 :     :     :     :        +- CometProject (79)
            :                 :     :     :     :           +- CometFilter (78)
            :                 :     :     :     :              +- CometScan [native_iceberg_compat] parquet spark_catalog.default.customer_address (77)
            :                 :     :     :     +- ReusedExchange (83)
            :                 :     :     +- CometBroadcastExchange (88)
            :                 :     :        +- CometFilter (87)
            :                 :     :           +- CometScan [native_iceberg_compat] parquet spark_catalog.default.income_band (86)
            :                 :     +- ReusedExchange (91)
            :                 +- CometBroadcastExchange (97)
            :                    +- CometProject (96)
            :                       +- CometFilter (95)
            :                          +- CometScan [native_iceberg_compat] parquet spark_catalog.default.item (94)
            +- CometSort (171)
               +- CometExchange (170)
                  +- CometHashAggregate (169)
                     +- CometHashAggregate (168)
                        +- CometProject (167)
                           +- CometBroadcastHashJoin (166)
                              :- CometProject (164)
                              :  +- CometBroadcastHashJoin (163)
                              :     :- CometProject (161)
                              :     :  +- CometBroadcastHashJoin (160)
                              :     :     :- CometProject (158)
                              :     :     :  +- CometBroadcastHashJoin (157)
                              :     :     :     :- CometProject (155)
                              :     :     :     :  +- CometBroadcastHashJoin (154)
                              :     :     :     :     :- CometProject (152)
                              :     :     :     :     :  +- CometBroadcastHashJoin (151)
                              :     :     :     :     :     :- CometProject (149)
                              :     :     :     :     :     :  +- CometBroadcastHashJoin (148)
                              :     :     :     :     :     :     :- CometProject (146)
                              :     :     :     :     :     :     :  +- CometBroadcastHashJoin (145)
                              :     :     :     :     :     :     :     :- CometProject (143)
                              :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (142)
                              :     :     :     :     :     :     :     :     :- CometProject (140)
                              :     :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (139)
                              :     :     :     :     :     :     :     :     :     :- CometProject (137)
                              :     :     :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (136)
                              :     :     :     :     :     :     :     :     :     :     :- CometProject (134)
                              :     :     :     :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (133)
                              :     :     :     :     :     :     :     :     :     :     :     :- CometProject (131)
                              :     :     :     :     :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (130)
                              :     :     :     :     :     :     :     :     :     :     :     :     :- CometProject (128)
                              :     :     :     :     :     :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (127)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :- CometProject (125)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :  +- CometBroadcastHashJoin (124)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :- CometProject (120)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :  +- CometSortMergeJoin (119)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :- CometSort (113)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :  +- CometExchange (112)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     +- CometProject (111)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :        +- CometBroadcastHashJoin (110)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :           :- CometBroadcastExchange (106)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :           :  +- CometFilter (105)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :           :     +- CometScan [native_iceberg_compat] parquet spark_catalog.default.store_sales (104)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :           +- CometProject (109)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :              +- CometFilter (108)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                 +- CometScan [native_iceberg_compat] parquet spark_catalog.default.store_returns (107)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :     +- CometSort (118)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :        +- CometProject (117)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :           +- CometFilter (116)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :              +- CometHashAggregate (115)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     :                 +- ReusedExchange (114)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :     +- CometBroadcastExchange (123)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :        +- CometFilter (122)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     :           +- CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim (121)
                              :     :     :     :     :     :     :     :     :     :     :     :     :     +- ReusedExchange (126)
                              :     :     :     :     :     :     :     :     :     :     :     :     +- ReusedExchange (129)
                              :     :     :     :     :     :     :     :     :     :     :     +- ReusedExchange (132)
                              :     :     :     :     :     :     :     :     :     :     +- ReusedExchange (135)
                              :     :     :     :     :     :     :     :     :     +- ReusedExchange (138)
                              :     :     :     :     :     :     :     :     +- ReusedExchange (141)
                              :     :     :     :     :     :     :     +- ReusedExchange (144)
                              :     :     :     :     :     :     +- ReusedExchange (147)
                              :     :     :     :     :     +- ReusedExchange (150)
                              :     :     :     :     +- ReusedExchange (153)
                              :     :     :     +- ReusedExchange (156)
                              :     :     +- ReusedExchange (159)
                              :     +- ReusedExchange (162)
                              +- ReusedExchange (165)


(1) CometScan [native_iceberg_compat] parquet spark_catalog.default.store_sales
Output [12]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_ticket_number#8, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12]
Batched: true
Location: InMemoryFileIndex []
PartitionFilters: [isnotnull(ss_sold_date_sk#12), dynamicpruningexpression(ss_sold_date_sk#12 IN dynamicpruning#13)]
PushedFilters: [IsNotNull(ss_item_sk), IsNotNull(ss_ticket_number), IsNotNull(ss_store_sk), IsNotNull(ss_customer_sk), IsNotNull(ss_cdemo_sk), IsNotNull(ss_promo_sk), IsNotNull(ss_hdemo_sk), IsNotNull(ss_addr_sk)]
ReadSchema: struct<ss_item_sk:int,ss_customer_sk:int,ss_cdemo_sk:int,ss_hdemo_sk:int,ss_addr_sk:int,ss_store_sk:int,ss_promo_sk:int,ss_ticket_number:int,ss_wholesale_cost:decimal(7,2),ss_list_price:decimal(7,2),ss_coupon_amt:decimal(7,2)>

(2) CometFilter
Input [12]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_ticket_number#8, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12]
Condition : (((((((isnotnull(ss_item_sk#1) AND isnotnull(ss_ticket_number#8)) AND isnotnull(ss_store_sk#6)) AND isnotnull(ss_customer_sk#2)) AND isnotnull(ss_cdemo_sk#3)) AND isnotnull(ss_promo_sk#7)) AND isnotnull(ss_hdemo_sk#4)) AND isnotnull(ss_addr_sk#5))

(3) CometBroadcastExchange
Input [12]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_ticket_number#8, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12]
Arguments: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_ticket_number#8, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12]

(4) CometScan [native_iceberg_compat] parquet spark_catalog.default.store_returns
Output [3]: [sr_item_sk#14, sr_ticket_number#15, sr_returned_date_sk#16]
Batched: true
Location [not included in comparison]/{warehouse_dir}/store_returns]
PushedFilters: [IsNotNull(sr_item_sk), IsNotNull(sr_ticket_number)]
ReadSchema: struct<sr_item_sk:int,sr_ticket_number:int>

(5) CometFilter
Input [3]: [sr_item_sk#14, sr_ticket_number#15, sr_returned_date_sk#16]
Condition : (isnotnull(sr_item_sk#14) AND isnotnull(sr_ticket_number#15))

(6) CometProject
Input [3]: [sr_item_sk#14, sr_ticket_number#15, sr_returned_date_sk#16]
Arguments: [sr_item_sk#14, sr_ticket_number#15], [sr_item_sk#14, sr_ticket_number#15]

(7) CometBroadcastHashJoin
Left output [12]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_ticket_number#8, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12]
Right output [2]: [sr_item_sk#14, sr_ticket_number#15]
Arguments: [ss_item_sk#1, ss_ticket_number#8], [sr_item_sk#14, sr_ticket_number#15], Inner, BuildLeft

(8) CometProject
Input [14]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_ticket_number#8, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12, sr_item_sk#14, sr_ticket_number#15]
Arguments: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12], [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12]

(9) CometExchange
Input [11]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12]
Arguments: hashpartitioning(ss_item_sk#1, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=1]

(10) CometSort
Input [11]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12]
Arguments: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12], [ss_item_sk#1 ASC NULLS FIRST]

(11) CometScan [native_iceberg_compat] parquet spark_catalog.default.catalog_sales
Output [4]: [cs_item_sk#17, cs_order_number#18, cs_ext_list_price#19, cs_sold_date_sk#20]
Batched: true
Location [not included in comparison]/{warehouse_dir}/catalog_sales]
PushedFilters: [IsNotNull(cs_item_sk), IsNotNull(cs_order_number)]
ReadSchema: struct<cs_item_sk:int,cs_order_number:int,cs_ext_list_price:decimal(7,2)>

(12) CometFilter
Input [4]: [cs_item_sk#17, cs_order_number#18, cs_ext_list_price#19, cs_sold_date_sk#20]
Condition : (isnotnull(cs_item_sk#17) AND isnotnull(cs_order_number#18))

(13) CometProject
Input [4]: [cs_item_sk#17, cs_order_number#18, cs_ext_list_price#19, cs_sold_date_sk#20]
Arguments: [cs_item_sk#17, cs_order_number#18, cs_ext_list_price#19], [cs_item_sk#17, cs_order_number#18, cs_ext_list_price#19]

(14) CometExchange
Input [3]: [cs_item_sk#17, cs_order_number#18, cs_ext_list_price#19]
Arguments: hashpartitioning(cs_item_sk#17, cs_order_number#18, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=2]

(15) CometSort
Input [3]: [cs_item_sk#17, cs_order_number#18, cs_ext_list_price#19]
Arguments: [cs_item_sk#17, cs_order_number#18, cs_ext_list_price#19], [cs_item_sk#17 ASC NULLS FIRST, cs_order_number#18 ASC NULLS FIRST]

(16) CometScan [native_iceberg_compat] parquet spark_catalog.default.catalog_returns
Output [6]: [cr_item_sk#21, cr_order_number#22, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25, cr_returned_date_sk#26]
Batched: true
Location [not included in comparison]/{warehouse_dir}/catalog_returns]
PushedFilters: [IsNotNull(cr_item_sk), IsNotNull(cr_order_number)]
ReadSchema: struct<cr_item_sk:int,cr_order_number:int,cr_refunded_cash:decimal(7,2),cr_reversed_charge:decimal(7,2),cr_store_credit:decimal(7,2)>

(17) CometFilter
Input [6]: [cr_item_sk#21, cr_order_number#22, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25, cr_returned_date_sk#26]
Condition : (isnotnull(cr_item_sk#21) AND isnotnull(cr_order_number#22))

(18) CometProject
Input [6]: [cr_item_sk#21, cr_order_number#22, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25, cr_returned_date_sk#26]
Arguments: [cr_item_sk#21, cr_order_number#22, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25], [cr_item_sk#21, cr_order_number#22, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25]

(19) CometExchange
Input [5]: [cr_item_sk#21, cr_order_number#22, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25]
Arguments: hashpartitioning(cr_item_sk#21, cr_order_number#22, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=3]

(20) CometSort
Input [5]: [cr_item_sk#21, cr_order_number#22, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25]
Arguments: [cr_item_sk#21, cr_order_number#22, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25], [cr_item_sk#21 ASC NULLS FIRST, cr_order_number#22 ASC NULLS FIRST]

(21) CometSortMergeJoin
Left output [3]: [cs_item_sk#17, cs_order_number#18, cs_ext_list_price#19]
Right output [5]: [cr_item_sk#21, cr_order_number#22, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25]
Arguments: [cs_item_sk#17, cs_order_number#18], [cr_item_sk#21, cr_order_number#22], Inner

(22) CometProject
Input [8]: [cs_item_sk#17, cs_order_number#18, cs_ext_list_price#19, cr_item_sk#21, cr_order_number#22, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25]
Arguments: [cs_item_sk#17, cs_ext_list_price#19, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25], [cs_item_sk#17, cs_ext_list_price#19, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25]

(23) CometHashAggregate
Input [5]: [cs_item_sk#17, cs_ext_list_price#19, cr_refunded_cash#23, cr_reversed_charge#24, cr_store_credit#25]
Keys [1]: [cs_item_sk#17]
Functions [2]: [partial_sum(UnscaledValue(cs_ext_list_price#19)), partial_sum(((cr_refunded_cash#23 + cr_reversed_charge#24) + cr_store_credit#25))]

(24) CometExchange
Input [4]: [cs_item_sk#17, sum#27, sum#28, isEmpty#29]
Arguments: hashpartitioning(cs_item_sk#17, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=4]

(25) CometHashAggregate
Input [4]: [cs_item_sk#17, sum#27, sum#28, isEmpty#29]
Keys [1]: [cs_item_sk#17]
Functions [2]: [sum(UnscaledValue(cs_ext_list_price#19)), sum(((cr_refunded_cash#23 + cr_reversed_charge#24) + cr_store_credit#25))]

(26) CometFilter
Input [3]: [cs_item_sk#17, sale#30, refund#31]
Condition : ((isnotnull(sale#30) AND isnotnull(refund#31)) AND (cast(sale#30 as decimal(21,2)) > (2 * refund#31)))

(27) CometProject
Input [3]: [cs_item_sk#17, sale#30, refund#31]
Arguments: [cs_item_sk#17], [cs_item_sk#17]

(28) CometSort
Input [1]: [cs_item_sk#17]
Arguments: [cs_item_sk#17], [cs_item_sk#17 ASC NULLS FIRST]

(29) CometSortMergeJoin
Left output [11]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12]
Right output [1]: [cs_item_sk#17]
Arguments: [ss_item_sk#1], [cs_item_sk#17], Inner

(30) CometProject
Input [12]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12, cs_item_sk#17]
Arguments: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12], [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12]

(31) CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim
Output [2]: [d_date_sk#32, d_year#33]
Batched: true
Location [not included in comparison]/{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_year), EqualTo(d_year,1999), IsNotNull(d_date_sk)]
ReadSchema: struct<d_date_sk:int,d_year:int>

(32) CometFilter
Input [2]: [d_date_sk#32, d_year#33]
Condition : ((isnotnull(d_year#33) AND (d_year#33 = 1999)) AND isnotnull(d_date_sk#32))

(33) CometBroadcastExchange
Input [2]: [d_date_sk#32, d_year#33]
Arguments: [d_date_sk#32, d_year#33]

(34) CometBroadcastHashJoin
Left output [11]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12]
Right output [2]: [d_date_sk#32, d_year#33]
Arguments: [ss_sold_date_sk#12], [d_date_sk#32], Inner, BuildRight

(35) CometProject
Input [13]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, ss_sold_date_sk#12, d_date_sk#32, d_year#33]
Arguments: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33], [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33]

(36) CometScan [native_iceberg_compat] parquet spark_catalog.default.store
Output [3]: [s_store_sk#34, s_store_name#35, s_zip#36]
Batched: true
Location [not included in comparison]/{warehouse_dir}/store]
PushedFilters: [IsNotNull(s_store_sk), IsNotNull(s_store_name)]
ReadSchema: struct<s_store_sk:int,s_store_name:string,s_zip:string>

(37) CometFilter
Input [3]: [s_store_sk#34, s_store_name#35, s_zip#36]
Condition : ((isnotnull(s_store_sk#34) AND isnotnull(s_store_name#35)) AND isnotnull(staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, s_zip#36, 10, true, false, true)))

(38) CometProject
Input [3]: [s_store_sk#34, s_store_name#35, s_zip#36]
Arguments: [s_store_sk#34, s_store_name#35, s_zip#37], [s_store_sk#34, s_store_name#35, staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, s_zip#36, 10, true, false, true) AS s_zip#37]

(39) CometBroadcastExchange
Input [3]: [s_store_sk#34, s_store_name#35, s_zip#37]
Arguments: [s_store_sk#34, s_store_name#35, s_zip#37]

(40) CometBroadcastHashJoin
Left output [11]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33]
Right output [3]: [s_store_sk#34, s_store_name#35, s_zip#37]
Arguments: [ss_store_sk#6], [s_store_sk#34], Inner, BuildRight

(41) CometProject
Input [14]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_store_sk#6, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_sk#34, s_store_name#35, s_zip#37]
Arguments: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37], [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37]

(42) CometScan [native_iceberg_compat] parquet spark_catalog.default.customer
Output [6]: [c_customer_sk#38, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, c_first_sales_date_sk#43]
Batched: true
Location [not included in comparison]/{warehouse_dir}/customer]
PushedFilters: [IsNotNull(c_customer_sk), IsNotNull(c_first_sales_date_sk), IsNotNull(c_first_shipto_date_sk), IsNotNull(c_current_cdemo_sk), IsNotNull(c_current_hdemo_sk), IsNotNull(c_current_addr_sk)]
ReadSchema: struct<c_customer_sk:int,c_current_cdemo_sk:int,c_current_hdemo_sk:int,c_current_addr_sk:int,c_first_shipto_date_sk:int,c_first_sales_date_sk:int>

(43) CometFilter
Input [6]: [c_customer_sk#38, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, c_first_sales_date_sk#43]
Condition : (((((isnotnull(c_customer_sk#38) AND isnotnull(c_first_sales_date_sk#43)) AND isnotnull(c_first_shipto_date_sk#42)) AND isnotnull(c_current_cdemo_sk#39)) AND isnotnull(c_current_hdemo_sk#40)) AND isnotnull(c_current_addr_sk#41))

(44) CometBroadcastExchange
Input [6]: [c_customer_sk#38, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, c_first_sales_date_sk#43]
Arguments: [c_customer_sk#38, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, c_first_sales_date_sk#43]

(45) CometBroadcastHashJoin
Left output [12]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37]
Right output [6]: [c_customer_sk#38, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, c_first_sales_date_sk#43]
Arguments: [ss_customer_sk#2], [c_customer_sk#38], Inner, BuildRight

(46) CometProject
Input [18]: [ss_item_sk#1, ss_customer_sk#2, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_customer_sk#38, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, c_first_sales_date_sk#43]
Arguments: [ss_item_sk#1, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, c_first_sales_date_sk#43], [ss_item_sk#1, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, c_first_sales_date_sk#43]

(47) CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim
Output [2]: [d_date_sk#44, d_year#45]
Batched: true
Location [not included in comparison]/{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_date_sk)]
ReadSchema: struct<d_date_sk:int,d_year:int>

(48) CometFilter
Input [2]: [d_date_sk#44, d_year#45]
Condition : isnotnull(d_date_sk#44)

(49) CometBroadcastExchange
Input [2]: [d_date_sk#44, d_year#45]
Arguments: [d_date_sk#44, d_year#45]

(50) CometBroadcastHashJoin
Left output [16]: [ss_item_sk#1, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, c_first_sales_date_sk#43]
Right output [2]: [d_date_sk#44, d_year#45]
Arguments: [c_first_sales_date_sk#43], [d_date_sk#44], Inner, BuildRight

(51) CometProject
Input [18]: [ss_item_sk#1, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, c_first_sales_date_sk#43, d_date_sk#44, d_year#45]
Arguments: [ss_item_sk#1, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, d_year#45], [ss_item_sk#1, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, d_year#45]

(52) ReusedExchange [Reuses operator id: 49]
Output [2]: [d_date_sk#46, d_year#47]

(53) CometBroadcastHashJoin
Left output [16]: [ss_item_sk#1, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, d_year#45]
Right output [2]: [d_date_sk#46, d_year#47]
Arguments: [c_first_shipto_date_sk#42], [d_date_sk#46], Inner, BuildRight

(54) CometProject
Input [18]: [ss_item_sk#1, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, c_first_shipto_date_sk#42, d_year#45, d_date_sk#46, d_year#47]
Arguments: [ss_item_sk#1, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47], [ss_item_sk#1, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47]

(55) CometScan [native_iceberg_compat] parquet spark_catalog.default.customer_demographics
Output [2]: [cd_demo_sk#48, cd_marital_status#49]
Batched: true
Location [not included in comparison]/{warehouse_dir}/customer_demographics]
PushedFilters: [IsNotNull(cd_demo_sk)]
ReadSchema: struct<cd_demo_sk:int,cd_marital_status:string>

(56) CometFilter
Input [2]: [cd_demo_sk#48, cd_marital_status#49]
Condition : (isnotnull(cd_demo_sk#48) AND isnotnull(staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, cd_marital_status#49, 1, true, false, true)))

(57) CometProject
Input [2]: [cd_demo_sk#48, cd_marital_status#49]
Arguments: [cd_demo_sk#48, cd_marital_status#50], [cd_demo_sk#48, staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, cd_marital_status#49, 1, true, false, true) AS cd_marital_status#50]

(58) CometBroadcastExchange
Input [2]: [cd_demo_sk#48, cd_marital_status#50]
Arguments: [cd_demo_sk#48, cd_marital_status#50]

(59) CometBroadcastHashJoin
Left output [16]: [ss_item_sk#1, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47]
Right output [2]: [cd_demo_sk#48, cd_marital_status#50]
Arguments: [ss_cdemo_sk#3], [cd_demo_sk#48], Inner, BuildRight

(60) CometProject
Input [18]: [ss_item_sk#1, ss_cdemo_sk#3, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47, cd_demo_sk#48, cd_marital_status#50]
Arguments: [ss_item_sk#1, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47, cd_marital_status#50], [ss_item_sk#1, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47, cd_marital_status#50]

(61) ReusedExchange [Reuses operator id: 58]
Output [2]: [cd_demo_sk#51, cd_marital_status#52]

(62) CometBroadcastHashJoin
Left output [16]: [ss_item_sk#1, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47, cd_marital_status#50]
Right output [2]: [cd_demo_sk#51, cd_marital_status#52]
Arguments: [c_current_cdemo_sk#39], [cd_demo_sk#51], Inner, NOT (cd_marital_status#50 = cd_marital_status#52), BuildRight

(63) CometProject
Input [18]: [ss_item_sk#1, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_cdemo_sk#39, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47, cd_marital_status#50, cd_demo_sk#51, cd_marital_status#52]
Arguments: [ss_item_sk#1, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47], [ss_item_sk#1, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47]

(64) CometScan [native_iceberg_compat] parquet spark_catalog.default.promotion
Output [1]: [p_promo_sk#53]
Batched: true
Location [not included in comparison]/{warehouse_dir}/promotion]
PushedFilters: [IsNotNull(p_promo_sk)]
ReadSchema: struct<p_promo_sk:int>

(65) CometFilter
Input [1]: [p_promo_sk#53]
Condition : isnotnull(p_promo_sk#53)

(66) CometBroadcastExchange
Input [1]: [p_promo_sk#53]
Arguments: [p_promo_sk#53]

(67) CometBroadcastHashJoin
Left output [14]: [ss_item_sk#1, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47]
Right output [1]: [p_promo_sk#53]
Arguments: [ss_promo_sk#7], [p_promo_sk#53], Inner, BuildRight

(68) CometProject
Input [15]: [ss_item_sk#1, ss_hdemo_sk#4, ss_addr_sk#5, ss_promo_sk#7, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47, p_promo_sk#53]
Arguments: [ss_item_sk#1, ss_hdemo_sk#4, ss_addr_sk#5, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47], [ss_item_sk#1, ss_hdemo_sk#4, ss_addr_sk#5, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47]

(69) CometScan [native_iceberg_compat] parquet spark_catalog.default.household_demographics
Output [2]: [hd_demo_sk#54, hd_income_band_sk#55]
Batched: true
Location [not included in comparison]/{warehouse_dir}/household_demographics]
PushedFilters: [IsNotNull(hd_demo_sk), IsNotNull(hd_income_band_sk)]
ReadSchema: struct<hd_demo_sk:int,hd_income_band_sk:int>

(70) CometFilter
Input [2]: [hd_demo_sk#54, hd_income_band_sk#55]
Condition : (isnotnull(hd_demo_sk#54) AND isnotnull(hd_income_band_sk#55))

(71) CometBroadcastExchange
Input [2]: [hd_demo_sk#54, hd_income_band_sk#55]
Arguments: [hd_demo_sk#54, hd_income_band_sk#55]

(72) CometBroadcastHashJoin
Left output [13]: [ss_item_sk#1, ss_hdemo_sk#4, ss_addr_sk#5, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47]
Right output [2]: [hd_demo_sk#54, hd_income_band_sk#55]
Arguments: [ss_hdemo_sk#4], [hd_demo_sk#54], Inner, BuildRight

(73) CometProject
Input [15]: [ss_item_sk#1, ss_hdemo_sk#4, ss_addr_sk#5, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47, hd_demo_sk#54, hd_income_band_sk#55]
Arguments: [ss_item_sk#1, ss_addr_sk#5, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47, hd_income_band_sk#55], [ss_item_sk#1, ss_addr_sk#5, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47, hd_income_band_sk#55]

(74) ReusedExchange [Reuses operator id: 71]
Output [2]: [hd_demo_sk#56, hd_income_band_sk#57]

(75) CometBroadcastHashJoin
Left output [13]: [ss_item_sk#1, ss_addr_sk#5, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47, hd_income_band_sk#55]
Right output [2]: [hd_demo_sk#56, hd_income_band_sk#57]
Arguments: [c_current_hdemo_sk#40], [hd_demo_sk#56], Inner, BuildRight

(76) CometProject
Input [15]: [ss_item_sk#1, ss_addr_sk#5, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_hdemo_sk#40, c_current_addr_sk#41, d_year#45, d_year#47, hd_income_band_sk#55, hd_demo_sk#56, hd_income_band_sk#57]
Arguments: [ss_item_sk#1, ss_addr_sk#5, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_addr_sk#41, d_year#45, d_year#47, hd_income_band_sk#55, hd_income_band_sk#57], [ss_item_sk#1, ss_addr_sk#5, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_addr_sk#41, d_year#45, d_year#47, hd_income_band_sk#55, hd_income_band_sk#57]

(77) CometScan [native_iceberg_compat] parquet spark_catalog.default.customer_address
Output [5]: [ca_address_sk#58, ca_street_number#59, ca_street_name#60, ca_city#61, ca_zip#62]
Batched: true
Location [not included in comparison]/{warehouse_dir}/customer_address]
PushedFilters: [IsNotNull(ca_address_sk)]
ReadSchema: struct<ca_address_sk:int,ca_street_number:string,ca_street_name:string,ca_city:string,ca_zip:string>

(78) CometFilter
Input [5]: [ca_address_sk#58, ca_street_number#59, ca_street_name#60, ca_city#61, ca_zip#62]
Condition : isnotnull(ca_address_sk#58)

(79) CometProject
Input [5]: [ca_address_sk#58, ca_street_number#59, ca_street_name#60, ca_city#61, ca_zip#62]
Arguments: [ca_address_sk#58, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64], [ca_address_sk#58, staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, ca_street_number#59, 10, true, false, true) AS ca_street_number#63, ca_street_name#60, ca_city#61, staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, ca_zip#62, 10, true, false, true) AS ca_zip#64]

(80) CometBroadcastExchange
Input [5]: [ca_address_sk#58, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64]
Arguments: [ca_address_sk#58, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64]

(81) CometBroadcastHashJoin
Left output [13]: [ss_item_sk#1, ss_addr_sk#5, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_addr_sk#41, d_year#45, d_year#47, hd_income_band_sk#55, hd_income_band_sk#57]
Right output [5]: [ca_address_sk#58, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64]
Arguments: [ss_addr_sk#5], [ca_address_sk#58], Inner, BuildRight

(82) CometProject
Input [18]: [ss_item_sk#1, ss_addr_sk#5, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_addr_sk#41, d_year#45, d_year#47, hd_income_band_sk#55, hd_income_band_sk#57, ca_address_sk#58, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64]
Arguments: [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_addr_sk#41, d_year#45, d_year#47, hd_income_band_sk#55, hd_income_band_sk#57, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64], [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_addr_sk#41, d_year#45, d_year#47, hd_income_band_sk#55, hd_income_band_sk#57, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64]

(83) ReusedExchange [Reuses operator id: 80]
Output [5]: [ca_address_sk#65, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69]

(84) CometBroadcastHashJoin
Left output [16]: [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_addr_sk#41, d_year#45, d_year#47, hd_income_band_sk#55, hd_income_band_sk#57, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64]
Right output [5]: [ca_address_sk#65, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69]
Arguments: [c_current_addr_sk#41], [ca_address_sk#65], Inner, BuildRight

(85) CometProject
Input [21]: [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, c_current_addr_sk#41, d_year#45, d_year#47, hd_income_band_sk#55, hd_income_band_sk#57, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_address_sk#65, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69]
Arguments: [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, d_year#45, d_year#47, hd_income_band_sk#55, hd_income_band_sk#57, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69], [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, d_year#45, d_year#47, hd_income_band_sk#55, hd_income_band_sk#57, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69]

(86) CometScan [native_iceberg_compat] parquet spark_catalog.default.income_band
Output [1]: [ib_income_band_sk#70]
Batched: true
Location [not included in comparison]/{warehouse_dir}/income_band]
PushedFilters: [IsNotNull(ib_income_band_sk)]
ReadSchema: struct<ib_income_band_sk:int>

(87) CometFilter
Input [1]: [ib_income_band_sk#70]
Condition : isnotnull(ib_income_band_sk#70)

(88) CometBroadcastExchange
Input [1]: [ib_income_band_sk#70]
Arguments: [ib_income_band_sk#70]

(89) CometBroadcastHashJoin
Left output [19]: [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, d_year#45, d_year#47, hd_income_band_sk#55, hd_income_band_sk#57, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69]
Right output [1]: [ib_income_band_sk#70]
Arguments: [hd_income_band_sk#55], [ib_income_band_sk#70], Inner, BuildRight

(90) CometProject
Input [20]: [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, d_year#45, d_year#47, hd_income_band_sk#55, hd_income_band_sk#57, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69, ib_income_band_sk#70]
Arguments: [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, d_year#45, d_year#47, hd_income_band_sk#57, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69], [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, d_year#45, d_year#47, hd_income_band_sk#57, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69]

(91) ReusedExchange [Reuses operator id: 88]
Output [1]: [ib_income_band_sk#71]

(92) CometBroadcastHashJoin
Left output [18]: [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, d_year#45, d_year#47, hd_income_band_sk#57, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69]
Right output [1]: [ib_income_band_sk#71]
Arguments: [hd_income_band_sk#57], [ib_income_band_sk#71], Inner, BuildRight

(93) CometProject
Input [19]: [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, d_year#45, d_year#47, hd_income_band_sk#57, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69, ib_income_band_sk#71]
Arguments: [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, d_year#45, d_year#47, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69], [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, d_year#45, d_year#47, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69]

(94) CometScan [native_iceberg_compat] parquet spark_catalog.default.item
Output [4]: [i_item_sk#72, i_current_price#73, i_color#74, i_product_name#75]
Batched: true
Location [not included in comparison]/{warehouse_dir}/item]
PushedFilters: [IsNotNull(i_current_price), GreaterThanOrEqual(i_current_price,64.00), LessThanOrEqual(i_current_price,74.00), GreaterThanOrEqual(i_current_price,65.00), LessThanOrEqual(i_current_price,79.00), IsNotNull(i_item_sk)]
ReadSchema: struct<i_item_sk:int,i_current_price:decimal(7,2),i_color:string,i_product_name:string>

(95) CometFilter
Input [4]: [i_item_sk#72, i_current_price#73, i_color#74, i_product_name#75]
Condition : ((((((isnotnull(i_current_price#73) AND staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, i_color#74, 20, true, false, true) IN (purple              ,burlywood           ,indian              ,spring              ,floral              ,medium              )) AND (i_current_price#73 >= 64.00)) AND (i_current_price#73 <= 74.00)) AND (i_current_price#73 >= 65.00)) AND (i_current_price#73 <= 79.00)) AND isnotnull(i_item_sk#72))

(96) CometProject
Input [4]: [i_item_sk#72, i_current_price#73, i_color#74, i_product_name#75]
Arguments: [i_item_sk#72, i_product_name#76], [i_item_sk#72, staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, i_product_name#75, 50, true, false, true) AS i_product_name#76]

(97) CometBroadcastExchange
Input [2]: [i_item_sk#72, i_product_name#76]
Arguments: [i_item_sk#72, i_product_name#76]

(98) CometBroadcastHashJoin
Left output [17]: [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, d_year#45, d_year#47, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69]
Right output [2]: [i_item_sk#72, i_product_name#76]
Arguments: [ss_item_sk#1], [i_item_sk#72], Inner, BuildRight

(99) CometProject
Input [19]: [ss_item_sk#1, ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, s_store_name#35, s_zip#37, d_year#45, d_year#47, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69, i_item_sk#72, i_product_name#76]
Arguments: [ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, d_year#45, d_year#47, s_store_name#35, s_zip#37, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69, i_item_sk#72, i_product_name#76], [ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, d_year#45, d_year#47, s_store_name#35, s_zip#37, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69, i_item_sk#72, i_product_name#76]

(100) CometHashAggregate
Input [18]: [ss_wholesale_cost#9, ss_list_price#10, ss_coupon_amt#11, d_year#33, d_year#45, d_year#47, s_store_name#35, s_zip#37, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69, i_item_sk#72, i_product_name#76]
Keys [15]: [i_product_name#76, i_item_sk#72, s_store_name#35, s_zip#37, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69, d_year#33, d_year#45, d_year#47]
Functions [4]: [partial_count(1), partial_sum(UnscaledValue(ss_wholesale_cost#9)), partial_sum(UnscaledValue(ss_list_price#10)), partial_sum(UnscaledValue(ss_coupon_amt#11))]

(101) CometHashAggregate
Input [19]: [i_product_name#76, i_item_sk#72, s_store_name#35, s_zip#37, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69, d_year#33, d_year#45, d_year#47, count#77, sum#78, sum#79, sum#80]
Keys [15]: [i_product_name#76, i_item_sk#72, s_store_name#35, s_zip#37, ca_street_number#63, ca_street_name#60, ca_city#61, ca_zip#64, ca_street_number#66, ca_street_name#67, ca_city#68, ca_zip#69, d_year#33, d_year#45, d_year#47]
Functions [4]: [count(1), sum(UnscaledValue(ss_wholesale_cost#9)), sum(UnscaledValue(ss_list_price#10)), sum(UnscaledValue(ss_coupon_amt#11))]

(102) CometExchange
Input [17]: [product_name#81, item_sk#82, store_name#83, store_zip#84, b_street_number#85, b_streen_name#86, b_city#87, b_zip#88, c_street_number#89, c_street_name#90, c_city#91, c_zip#92, syear#93, cnt#94, s1#95, s2#96, s3#97]
Arguments: hashpartitioning(item_sk#82, store_name#83, store_zip#84, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=5]

(103) CometSort
Input [17]: [product_name#81, item_sk#82, store_name#83, store_zip#84, b_street_number#85, b_streen_name#86, b_city#87, b_zip#88, c_street_number#89, c_street_name#90, c_city#91, c_zip#92, syear#93, cnt#94, s1#95, s2#96, s3#97]
Arguments: [product_name#81, item_sk#82, store_name#83, store_zip#84, b_street_number#85, b_streen_name#86, b_city#87, b_zip#88, c_street_number#89, c_street_name#90, c_city#91, c_zip#92, syear#93, cnt#94, s1#95, s2#96, s3#97], [item_sk#82 ASC NULLS FIRST, store_name#83 ASC NULLS FIRST, store_zip#84 ASC NULLS FIRST]

(104) CometScan [native_iceberg_compat] parquet spark_catalog.default.store_sales
Output [12]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_ticket_number#105, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109]
Batched: true
Location: InMemoryFileIndex []
PartitionFilters: [isnotnull(ss_sold_date_sk#109), dynamicpruningexpression(ss_sold_date_sk#109 IN dynamicpruning#110)]
PushedFilters: [IsNotNull(ss_item_sk), IsNotNull(ss_ticket_number), IsNotNull(ss_store_sk), IsNotNull(ss_customer_sk), IsNotNull(ss_cdemo_sk), IsNotNull(ss_promo_sk), IsNotNull(ss_hdemo_sk), IsNotNull(ss_addr_sk)]
ReadSchema: struct<ss_item_sk:int,ss_customer_sk:int,ss_cdemo_sk:int,ss_hdemo_sk:int,ss_addr_sk:int,ss_store_sk:int,ss_promo_sk:int,ss_ticket_number:int,ss_wholesale_cost:decimal(7,2),ss_list_price:decimal(7,2),ss_coupon_amt:decimal(7,2)>

(105) CometFilter
Input [12]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_ticket_number#105, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109]
Condition : (((((((isnotnull(ss_item_sk#98) AND isnotnull(ss_ticket_number#105)) AND isnotnull(ss_store_sk#103)) AND isnotnull(ss_customer_sk#99)) AND isnotnull(ss_cdemo_sk#100)) AND isnotnull(ss_promo_sk#104)) AND isnotnull(ss_hdemo_sk#101)) AND isnotnull(ss_addr_sk#102))

(106) CometBroadcastExchange
Input [12]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_ticket_number#105, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109]
Arguments: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_ticket_number#105, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109]

(107) CometScan [native_iceberg_compat] parquet spark_catalog.default.store_returns
Output [3]: [sr_item_sk#111, sr_ticket_number#112, sr_returned_date_sk#113]
Batched: true
Location [not included in comparison]/{warehouse_dir}/store_returns]
PushedFilters: [IsNotNull(sr_item_sk), IsNotNull(sr_ticket_number)]
ReadSchema: struct<sr_item_sk:int,sr_ticket_number:int>

(108) CometFilter
Input [3]: [sr_item_sk#111, sr_ticket_number#112, sr_returned_date_sk#113]
Condition : (isnotnull(sr_item_sk#111) AND isnotnull(sr_ticket_number#112))

(109) CometProject
Input [3]: [sr_item_sk#111, sr_ticket_number#112, sr_returned_date_sk#113]
Arguments: [sr_item_sk#111, sr_ticket_number#112], [sr_item_sk#111, sr_ticket_number#112]

(110) CometBroadcastHashJoin
Left output [12]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_ticket_number#105, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109]
Right output [2]: [sr_item_sk#111, sr_ticket_number#112]
Arguments: [ss_item_sk#98, ss_ticket_number#105], [sr_item_sk#111, sr_ticket_number#112], Inner, BuildLeft

(111) CometProject
Input [14]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_ticket_number#105, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109, sr_item_sk#111, sr_ticket_number#112]
Arguments: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109], [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109]

(112) CometExchange
Input [11]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109]
Arguments: hashpartitioning(ss_item_sk#98, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=6]

(113) CometSort
Input [11]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109]
Arguments: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109], [ss_item_sk#98 ASC NULLS FIRST]

(114) ReusedExchange [Reuses operator id: 24]
Output [4]: [cs_item_sk#114, sum#115, sum#116, isEmpty#117]

(115) CometHashAggregate
Input [4]: [cs_item_sk#114, sum#115, sum#116, isEmpty#117]
Keys [1]: [cs_item_sk#114]
Functions [2]: [sum(UnscaledValue(cs_ext_list_price#118)), sum(((cr_refunded_cash#119 + cr_reversed_charge#120) + cr_store_credit#121))]

(116) CometFilter
Input [3]: [cs_item_sk#114, sale#30, refund#31]
Condition : ((isnotnull(sale#30) AND isnotnull(refund#31)) AND (cast(sale#30 as decimal(21,2)) > (2 * refund#31)))

(117) CometProject
Input [3]: [cs_item_sk#114, sale#30, refund#31]
Arguments: [cs_item_sk#114], [cs_item_sk#114]

(118) CometSort
Input [1]: [cs_item_sk#114]
Arguments: [cs_item_sk#114], [cs_item_sk#114 ASC NULLS FIRST]

(119) CometSortMergeJoin
Left output [11]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109]
Right output [1]: [cs_item_sk#114]
Arguments: [ss_item_sk#98], [cs_item_sk#114], Inner

(120) CometProject
Input [12]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109, cs_item_sk#114]
Arguments: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109], [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109]

(121) CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim
Output [2]: [d_date_sk#122, d_year#123]
Batched: true
Location [not included in comparison]/{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_year), EqualTo(d_year,2000), IsNotNull(d_date_sk)]
ReadSchema: struct<d_date_sk:int,d_year:int>

(122) CometFilter
Input [2]: [d_date_sk#122, d_year#123]
Condition : ((isnotnull(d_year#123) AND (d_year#123 = 2000)) AND isnotnull(d_date_sk#122))

(123) CometBroadcastExchange
Input [2]: [d_date_sk#122, d_year#123]
Arguments: [d_date_sk#122, d_year#123]

(124) CometBroadcastHashJoin
Left output [11]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109]
Right output [2]: [d_date_sk#122, d_year#123]
Arguments: [ss_sold_date_sk#109], [d_date_sk#122], Inner, BuildRight

(125) CometProject
Input [13]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, ss_sold_date_sk#109, d_date_sk#122, d_year#123]
Arguments: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123], [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123]

(126) ReusedExchange [Reuses operator id: 39]
Output [3]: [s_store_sk#124, s_store_name#125, s_zip#37]

(127) CometBroadcastHashJoin
Left output [11]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123]
Right output [3]: [s_store_sk#124, s_store_name#125, s_zip#37]
Arguments: [ss_store_sk#103], [s_store_sk#124], Inner, BuildRight

(128) CometProject
Input [14]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_store_sk#103, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_sk#124, s_store_name#125, s_zip#37]
Arguments: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37], [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37]

(129) ReusedExchange [Reuses operator id: 44]
Output [6]: [c_customer_sk#126, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, c_first_shipto_date_sk#130, c_first_sales_date_sk#131]

(130) CometBroadcastHashJoin
Left output [12]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37]
Right output [6]: [c_customer_sk#126, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, c_first_shipto_date_sk#130, c_first_sales_date_sk#131]
Arguments: [ss_customer_sk#99], [c_customer_sk#126], Inner, BuildRight

(131) CometProject
Input [18]: [ss_item_sk#98, ss_customer_sk#99, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_customer_sk#126, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, c_first_shipto_date_sk#130, c_first_sales_date_sk#131]
Arguments: [ss_item_sk#98, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, c_first_shipto_date_sk#130, c_first_sales_date_sk#131], [ss_item_sk#98, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, c_first_shipto_date_sk#130, c_first_sales_date_sk#131]

(132) ReusedExchange [Reuses operator id: 49]
Output [2]: [d_date_sk#132, d_year#133]

(133) CometBroadcastHashJoin
Left output [16]: [ss_item_sk#98, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, c_first_shipto_date_sk#130, c_first_sales_date_sk#131]
Right output [2]: [d_date_sk#132, d_year#133]
Arguments: [c_first_sales_date_sk#131], [d_date_sk#132], Inner, BuildRight

(134) CometProject
Input [18]: [ss_item_sk#98, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, c_first_shipto_date_sk#130, c_first_sales_date_sk#131, d_date_sk#132, d_year#133]
Arguments: [ss_item_sk#98, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, c_first_shipto_date_sk#130, d_year#133], [ss_item_sk#98, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, c_first_shipto_date_sk#130, d_year#133]

(135) ReusedExchange [Reuses operator id: 49]
Output [2]: [d_date_sk#134, d_year#135]

(136) CometBroadcastHashJoin
Left output [16]: [ss_item_sk#98, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, c_first_shipto_date_sk#130, d_year#133]
Right output [2]: [d_date_sk#134, d_year#135]
Arguments: [c_first_shipto_date_sk#130], [d_date_sk#134], Inner, BuildRight

(137) CometProject
Input [18]: [ss_item_sk#98, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, c_first_shipto_date_sk#130, d_year#133, d_date_sk#134, d_year#135]
Arguments: [ss_item_sk#98, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135], [ss_item_sk#98, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135]

(138) ReusedExchange [Reuses operator id: 58]
Output [2]: [cd_demo_sk#136, cd_marital_status#50]

(139) CometBroadcastHashJoin
Left output [16]: [ss_item_sk#98, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135]
Right output [2]: [cd_demo_sk#136, cd_marital_status#50]
Arguments: [ss_cdemo_sk#100], [cd_demo_sk#136], Inner, BuildRight

(140) CometProject
Input [18]: [ss_item_sk#98, ss_cdemo_sk#100, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135, cd_demo_sk#136, cd_marital_status#50]
Arguments: [ss_item_sk#98, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135, cd_marital_status#50], [ss_item_sk#98, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135, cd_marital_status#50]

(141) ReusedExchange [Reuses operator id: 58]
Output [2]: [cd_demo_sk#137, cd_marital_status#52]

(142) CometBroadcastHashJoin
Left output [16]: [ss_item_sk#98, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135, cd_marital_status#50]
Right output [2]: [cd_demo_sk#137, cd_marital_status#52]
Arguments: [c_current_cdemo_sk#127], [cd_demo_sk#137], Inner, NOT (cd_marital_status#50 = cd_marital_status#52), BuildRight

(143) CometProject
Input [18]: [ss_item_sk#98, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_cdemo_sk#127, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135, cd_marital_status#50, cd_demo_sk#137, cd_marital_status#52]
Arguments: [ss_item_sk#98, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135], [ss_item_sk#98, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135]

(144) ReusedExchange [Reuses operator id: 66]
Output [1]: [p_promo_sk#138]

(145) CometBroadcastHashJoin
Left output [14]: [ss_item_sk#98, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135]
Right output [1]: [p_promo_sk#138]
Arguments: [ss_promo_sk#104], [p_promo_sk#138], Inner, BuildRight

(146) CometProject
Input [15]: [ss_item_sk#98, ss_hdemo_sk#101, ss_addr_sk#102, ss_promo_sk#104, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135, p_promo_sk#138]
Arguments: [ss_item_sk#98, ss_hdemo_sk#101, ss_addr_sk#102, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135], [ss_item_sk#98, ss_hdemo_sk#101, ss_addr_sk#102, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135]

(147) ReusedExchange [Reuses operator id: 71]
Output [2]: [hd_demo_sk#139, hd_income_band_sk#140]

(148) CometBroadcastHashJoin
Left output [13]: [ss_item_sk#98, ss_hdemo_sk#101, ss_addr_sk#102, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135]
Right output [2]: [hd_demo_sk#139, hd_income_band_sk#140]
Arguments: [ss_hdemo_sk#101], [hd_demo_sk#139], Inner, BuildRight

(149) CometProject
Input [15]: [ss_item_sk#98, ss_hdemo_sk#101, ss_addr_sk#102, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135, hd_demo_sk#139, hd_income_band_sk#140]
Arguments: [ss_item_sk#98, ss_addr_sk#102, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135, hd_income_band_sk#140], [ss_item_sk#98, ss_addr_sk#102, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135, hd_income_band_sk#140]

(150) ReusedExchange [Reuses operator id: 71]
Output [2]: [hd_demo_sk#141, hd_income_band_sk#142]

(151) CometBroadcastHashJoin
Left output [13]: [ss_item_sk#98, ss_addr_sk#102, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135, hd_income_band_sk#140]
Right output [2]: [hd_demo_sk#141, hd_income_band_sk#142]
Arguments: [c_current_hdemo_sk#128], [hd_demo_sk#141], Inner, BuildRight

(152) CometProject
Input [15]: [ss_item_sk#98, ss_addr_sk#102, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_hdemo_sk#128, c_current_addr_sk#129, d_year#133, d_year#135, hd_income_band_sk#140, hd_demo_sk#141, hd_income_band_sk#142]
Arguments: [ss_item_sk#98, ss_addr_sk#102, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_addr_sk#129, d_year#133, d_year#135, hd_income_band_sk#140, hd_income_band_sk#142], [ss_item_sk#98, ss_addr_sk#102, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_addr_sk#129, d_year#133, d_year#135, hd_income_band_sk#140, hd_income_band_sk#142]

(153) ReusedExchange [Reuses operator id: 80]
Output [5]: [ca_address_sk#143, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64]

(154) CometBroadcastHashJoin
Left output [13]: [ss_item_sk#98, ss_addr_sk#102, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_addr_sk#129, d_year#133, d_year#135, hd_income_band_sk#140, hd_income_band_sk#142]
Right output [5]: [ca_address_sk#143, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64]
Arguments: [ss_addr_sk#102], [ca_address_sk#143], Inner, BuildRight

(155) CometProject
Input [18]: [ss_item_sk#98, ss_addr_sk#102, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_addr_sk#129, d_year#133, d_year#135, hd_income_band_sk#140, hd_income_band_sk#142, ca_address_sk#143, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64]
Arguments: [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_addr_sk#129, d_year#133, d_year#135, hd_income_band_sk#140, hd_income_band_sk#142, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64], [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_addr_sk#129, d_year#133, d_year#135, hd_income_band_sk#140, hd_income_band_sk#142, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64]

(156) ReusedExchange [Reuses operator id: 80]
Output [5]: [ca_address_sk#146, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69]

(157) CometBroadcastHashJoin
Left output [16]: [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_addr_sk#129, d_year#133, d_year#135, hd_income_band_sk#140, hd_income_band_sk#142, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64]
Right output [5]: [ca_address_sk#146, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69]
Arguments: [c_current_addr_sk#129], [ca_address_sk#146], Inner, BuildRight

(158) CometProject
Input [21]: [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, c_current_addr_sk#129, d_year#133, d_year#135, hd_income_band_sk#140, hd_income_band_sk#142, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_address_sk#146, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69]
Arguments: [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, d_year#133, d_year#135, hd_income_band_sk#140, hd_income_band_sk#142, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69], [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, d_year#133, d_year#135, hd_income_band_sk#140, hd_income_band_sk#142, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69]

(159) ReusedExchange [Reuses operator id: 88]
Output [1]: [ib_income_band_sk#149]

(160) CometBroadcastHashJoin
Left output [19]: [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, d_year#133, d_year#135, hd_income_band_sk#140, hd_income_band_sk#142, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69]
Right output [1]: [ib_income_band_sk#149]
Arguments: [hd_income_band_sk#140], [ib_income_band_sk#149], Inner, BuildRight

(161) CometProject
Input [20]: [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, d_year#133, d_year#135, hd_income_band_sk#140, hd_income_band_sk#142, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69, ib_income_band_sk#149]
Arguments: [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, d_year#133, d_year#135, hd_income_band_sk#142, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69], [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, d_year#133, d_year#135, hd_income_band_sk#142, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69]

(162) ReusedExchange [Reuses operator id: 88]
Output [1]: [ib_income_band_sk#150]

(163) CometBroadcastHashJoin
Left output [18]: [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, d_year#133, d_year#135, hd_income_band_sk#142, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69]
Right output [1]: [ib_income_band_sk#150]
Arguments: [hd_income_band_sk#142], [ib_income_band_sk#150], Inner, BuildRight

(164) CometProject
Input [19]: [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, d_year#133, d_year#135, hd_income_band_sk#142, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69, ib_income_band_sk#150]
Arguments: [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, d_year#133, d_year#135, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69], [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, d_year#133, d_year#135, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69]

(165) ReusedExchange [Reuses operator id: 97]
Output [2]: [i_item_sk#151, i_product_name#76]

(166) CometBroadcastHashJoin
Left output [17]: [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, d_year#133, d_year#135, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69]
Right output [2]: [i_item_sk#151, i_product_name#76]
Arguments: [ss_item_sk#98], [i_item_sk#151], Inner, BuildRight

(167) CometProject
Input [19]: [ss_item_sk#98, ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, s_store_name#125, s_zip#37, d_year#133, d_year#135, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69, i_item_sk#151, i_product_name#76]
Arguments: [ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, d_year#133, d_year#135, s_store_name#125, s_zip#37, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69, i_item_sk#151, i_product_name#76], [ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, d_year#133, d_year#135, s_store_name#125, s_zip#37, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69, i_item_sk#151, i_product_name#76]

(168) CometHashAggregate
Input [18]: [ss_wholesale_cost#106, ss_list_price#107, ss_coupon_amt#108, d_year#123, d_year#133, d_year#135, s_store_name#125, s_zip#37, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69, i_item_sk#151, i_product_name#76]
Keys [15]: [i_product_name#76, i_item_sk#151, s_store_name#125, s_zip#37, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69, d_year#123, d_year#133, d_year#135]
Functions [4]: [partial_count(1), partial_sum(UnscaledValue(ss_wholesale_cost#106)), partial_sum(UnscaledValue(ss_list_price#107)), partial_sum(UnscaledValue(ss_coupon_amt#108))]

(169) CometHashAggregate
Input [19]: [i_product_name#76, i_item_sk#151, s_store_name#125, s_zip#37, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69, d_year#123, d_year#133, d_year#135, count#77, sum#152, sum#153, sum#154]
Keys [15]: [i_product_name#76, i_item_sk#151, s_store_name#125, s_zip#37, ca_street_number#63, ca_street_name#144, ca_city#145, ca_zip#64, ca_street_number#66, ca_street_name#147, ca_city#148, ca_zip#69, d_year#123, d_year#133, d_year#135]
Functions [4]: [count(1), sum(UnscaledValue(ss_wholesale_cost#106)), sum(UnscaledValue(ss_list_price#107)), sum(UnscaledValue(ss_coupon_amt#108))]

(170) CometExchange
Input [8]: [item_sk#155, store_name#156, store_zip#157, syear#158, cnt#159, s1#160, s2#161, s3#162]
Arguments: hashpartitioning(item_sk#155, store_name#156, store_zip#157, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=7]

(171) CometSort
Input [8]: [item_sk#155, store_name#156, store_zip#157, syear#158, cnt#159, s1#160, s2#161, s3#162]
Arguments: [item_sk#155, store_name#156, store_zip#157, syear#158, cnt#159, s1#160, s2#161, s3#162], [item_sk#155 ASC NULLS FIRST, store_name#156 ASC NULLS FIRST, store_zip#157 ASC NULLS FIRST]

(172) CometSortMergeJoin
Left output [17]: [product_name#81, item_sk#82, store_name#83, store_zip#84, b_street_number#85, b_streen_name#86, b_city#87, b_zip#88, c_street_number#89, c_street_name#90, c_city#91, c_zip#92, syear#93, cnt#94, s1#95, s2#96, s3#97]
Right output [8]: [item_sk#155, store_name#156, store_zip#157, syear#158, cnt#159, s1#160, s2#161, s3#162]
Arguments: [item_sk#82, store_name#83, store_zip#84], [item_sk#155, store_name#156, store_zip#157], Inner, (cnt#159 <= cnt#94)

(173) CometProject
Input [25]: [product_name#81, item_sk#82, store_name#83, store_zip#84, b_street_number#85, b_streen_name#86, b_city#87, b_zip#88, c_street_number#89, c_street_name#90, c_city#91, c_zip#92, syear#93, cnt#94, s1#95, s2#96, s3#97, item_sk#155, store_name#156, store_zip#157, syear#158, cnt#159, s1#160, s2#161, s3#162]
Arguments: [product_name#81, store_name#83, store_zip#84, b_street_number#85, b_streen_name#86, b_city#87, b_zip#88, c_street_number#89, c_street_name#90, c_city#91, c_zip#92, syear#93, cnt#94, s1#95, s2#96, s3#97, s1#160, s2#161, s3#162, syear#158, cnt#159], [product_name#81, store_name#83, store_zip#84, b_street_number#85, b_streen_name#86, b_city#87, b_zip#88, c_street_number#89, c_street_name#90, c_city#91, c_zip#92, syear#93, cnt#94, s1#95, s2#96, s3#97, s1#160, s2#161, s3#162, syear#158, cnt#159]

(174) CometColumnarExchange
Input [21]: [product_name#81, store_name#83, store_zip#84, b_street_number#85, b_streen_name#86, b_city#87, b_zip#88, c_street_number#89, c_street_name#90, c_city#91, c_zip#92, syear#93, cnt#94, s1#95, s2#96, s3#97, s1#160, s2#161, s3#162, syear#158, cnt#159]
Arguments: rangepartitioning(product_name#81 ASC NULLS FIRST, store_name#83 ASC NULLS FIRST, cnt#159 ASC NULLS FIRST, s1#95 ASC NULLS FIRST, s1#160 ASC NULLS FIRST, 5), ENSURE_REQUIREMENTS, CometColumnarShuffle, [plan_id=8]

(175) CometSort
Input [21]: [product_name#81, store_name#83, store_zip#84, b_street_number#85, b_streen_name#86, b_city#87, b_zip#88, c_street_number#89, c_street_name#90, c_city#91, c_zip#92, syear#93, cnt#94, s1#95, s2#96, s3#97, s1#160, s2#161, s3#162, syear#158, cnt#159]
Arguments: [product_name#81, store_name#83, store_zip#84, b_street_number#85, b_streen_name#86, b_city#87, b_zip#88, c_street_number#89, c_street_name#90, c_city#91, c_zip#92, syear#93, cnt#94, s1#95, s2#96, s3#97, s1#160, s2#161, s3#162, syear#158, cnt#159], [product_name#81 ASC NULLS FIRST, store_name#83 ASC NULLS FIRST, cnt#159 ASC NULLS FIRST, s1#95 ASC NULLS FIRST, s1#160 ASC NULLS FIRST]

(176) CometColumnarToRow [codegen id : 1]
Input [21]: [product_name#81, store_name#83, store_zip#84, b_street_number#85, b_streen_name#86, b_city#87, b_zip#88, c_street_number#89, c_street_name#90, c_city#91, c_zip#92, syear#93, cnt#94, s1#95, s2#96, s3#97, s1#160, s2#161, s3#162, syear#158, cnt#159]

===== Subqueries =====

Subquery:1 Hosting operator id = 1 Hosting Expression = ss_sold_date_sk#12 IN dynamicpruning#13
BroadcastExchange (180)
+- * CometColumnarToRow (179)
   +- CometFilter (178)
      +- CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim (177)


(177) CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim
Output [2]: [d_date_sk#32, d_year#33]
Batched: true
Location [not included in comparison]/{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_year), EqualTo(d_year,1999), IsNotNull(d_date_sk)]
ReadSchema: struct<d_date_sk:int,d_year:int>

(178) CometFilter
Input [2]: [d_date_sk#32, d_year#33]
Condition : ((isnotnull(d_year#33) AND (d_year#33 = 1999)) AND isnotnull(d_date_sk#32))

(179) CometColumnarToRow [codegen id : 1]
Input [2]: [d_date_sk#32, d_year#33]

(180) BroadcastExchange
Input [2]: [d_date_sk#32, d_year#33]
Arguments: HashedRelationBroadcastMode(List(cast(input[0, int, false] as bigint)),false), [plan_id=9]

Subquery:2 Hosting operator id = 104 Hosting Expression = ss_sold_date_sk#109 IN dynamicpruning#110
BroadcastExchange (184)
+- * CometColumnarToRow (183)
   +- CometFilter (182)
      +- CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim (181)


(181) CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim
Output [2]: [d_date_sk#122, d_year#123]
Batched: true
Location [not included in comparison]/{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_year), EqualTo(d_year,2000), IsNotNull(d_date_sk)]
ReadSchema: struct<d_date_sk:int,d_year:int>

(182) CometFilter
Input [2]: [d_date_sk#122, d_year#123]
Condition : ((isnotnull(d_year#123) AND (d_year#123 = 2000)) AND isnotnull(d_date_sk#122))

(183) CometColumnarToRow [codegen id : 1]
Input [2]: [d_date_sk#122, d_year#123]

(184) BroadcastExchange
Input [2]: [d_date_sk#122, d_year#123]
Arguments: HashedRelationBroadcastMode(List(cast(input[0, int, false] as bigint)),false), [plan_id=10]


