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


(1) Scan 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) ColumnarToRow [codegen id : 1]
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]

(3) Filter [codegen id : 1]
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))

(4) BroadcastExchange
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: HashedRelationBroadcastMode(List((shiftleft(cast(input[0, int, false] as bigint), 32) | (cast(input[7, int, false] as bigint) & 4294967295))),false), [plan_id=1]

(5) CometNativeScan 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>

(6) 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))

(7) 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]

(8) CometColumnarToRow
Input [2]: [sr_item_sk#14, sr_ticket_number#15]

(9) BroadcastHashJoin [codegen id : 2]
Left keys [2]: [ss_item_sk#1, ss_ticket_number#8]
Right keys [2]: [sr_item_sk#14, sr_ticket_number#15]
Join type: Inner
Join condition: None

(10) Project [codegen id : 2]
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]
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]

(11) CometColumnarExchange
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, CometColumnarShuffle, [plan_id=2]

(12) 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]

(13) CometNativeScan 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)>

(14) 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))

(15) 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]

(16) 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=3]

(17) 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]

(18) CometNativeScan 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)>

(19) 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))

(20) 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]

(21) 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=4]

(22) 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]

(23) 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

(24) 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]

(25) 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))]

(26) 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=5]

(27) 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))]

(28) 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)))

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

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

(31) 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

(32) 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]

(33) CometNativeScan 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>

(34) 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))

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

(36) 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

(37) 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]

(38) CometNativeScan 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>

(39) 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)))

(40) 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]

(41) 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]

(42) 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

(43) 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]

(44) CometNativeScan 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>

(45) 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))

(46) 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]

(47) 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

(48) 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]

(49) CometNativeScan 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>

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

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

(52) 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

(53) 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]

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

(55) 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

(56) 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]

(57) CometNativeScan 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>

(58) 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)))

(59) 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]

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

(61) 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

(62) 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]

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

(64) 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

(65) 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]

(66) CometNativeScan 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>

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

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

(69) 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

(70) 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]

(71) CometNativeScan 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>

(72) 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))

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

(74) 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

(75) 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]

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

(77) 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

(78) 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]

(79) CometNativeScan 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>

(80) 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)

(81) 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]

(82) 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]

(83) 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

(84) 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]

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

(86) 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

(87) 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]

(88) CometNativeScan 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>

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

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

(91) 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

(92) 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]

(93) ReusedExchange [Reuses operator id: 90]
Output [1]: [ib_income_band_sk#71]

(94) 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

(95) 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]

(96) CometNativeScan 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>

(97) 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))

(98) 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]

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

(100) 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

(101) 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]

(102) 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))]

(103) 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))]

(104) 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=6]

(105) 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]

(106) Scan 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)>

(107) ColumnarToRow [codegen id : 3]
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]

(108) Filter [codegen id : 3]
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))

(109) BroadcastExchange
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: HashedRelationBroadcastMode(List((shiftleft(cast(input[0, int, false] as bigint), 32) | (cast(input[7, int, false] as bigint) & 4294967295))),false), [plan_id=7]

(110) CometNativeScan 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>

(111) 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))

(112) 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]

(113) CometColumnarToRow
Input [2]: [sr_item_sk#111, sr_ticket_number#112]

(114) BroadcastHashJoin [codegen id : 4]
Left keys [2]: [ss_item_sk#98, ss_ticket_number#105]
Right keys [2]: [sr_item_sk#111, sr_ticket_number#112]
Join type: Inner
Join condition: None

(115) Project [codegen id : 4]
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]
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]

(116) CometColumnarExchange
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, CometColumnarShuffle, [plan_id=8]

(117) 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]

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

(119) 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))]

(120) 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)))

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

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

(123) 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

(124) 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]

(125) CometNativeScan 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>

(126) 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))

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

(128) 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

(129) 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]

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

(131) 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

(132) 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]

(133) ReusedExchange [Reuses operator id: 46]
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]

(134) 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

(135) 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]

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

(137) 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

(138) 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]

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

(140) 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

(141) 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]

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

(143) 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

(144) 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]

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

(146) 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

(147) 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]

(148) ReusedExchange [Reuses operator id: 68]
Output [1]: [p_promo_sk#138]

(149) 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

(150) 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]

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

(152) 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

(153) 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]

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

(155) 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

(156) 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]

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

(158) 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

(159) 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]

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

(161) 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

(162) 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]

(163) ReusedExchange [Reuses operator id: 90]
Output [1]: [ib_income_band_sk#149]

(164) 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

(165) 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]

(166) ReusedExchange [Reuses operator id: 90]
Output [1]: [ib_income_band_sk#150]

(167) 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

(168) 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]

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

(170) 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

(171) 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]

(172) 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))]

(173) 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))]

(174) 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=9]

(175) 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]

(176) 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)

(177) 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]

(178) CometExchange
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, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=10]

(179) 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]

(180) CometColumnarToRow [codegen id : 5]
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 (184)
+- * CometColumnarToRow (183)
   +- CometFilter (182)
      +- CometNativeScan parquet spark_catalog.default.date_dim (181)


(181) CometNativeScan 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>

(182) 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))

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

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

Subquery:2 Hosting operator id = 106 Hosting Expression = ss_sold_date_sk#109 IN dynamicpruning#110
BroadcastExchange (188)
+- * CometColumnarToRow (187)
   +- CometFilter (186)
      +- CometNativeScan parquet spark_catalog.default.date_dim (185)


(185) CometNativeScan 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>

(186) 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))

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

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


