== Physical Plan ==
* CometColumnarToRow (57)
+- CometTakeOrderedAndProject (56)
   +- CometProject (55)
      +- CometBroadcastHashJoin (54)
         :- CometProject (40)
         :  +- CometBroadcastHashJoin (39)
         :     :- CometFilter (20)
         :     :  +- CometHashAggregate (19)
         :     :     +- CometExchange (18)
         :     :        +- CometHashAggregate (17)
         :     :           +- CometProject (16)
         :     :              +- CometBroadcastHashJoin (15)
         :     :                 :- CometProject (8)
         :     :                 :  +- CometBroadcastHashJoin (7)
         :     :                 :     :- CometFilter (2)
         :     :                 :     :  +- CometScan [native_iceberg_compat] parquet spark_catalog.default.store_sales (1)
         :     :                 :     +- CometBroadcastExchange (6)
         :     :                 :        +- CometProject (5)
         :     :                 :           +- CometFilter (4)
         :     :                 :              +- CometScan [native_iceberg_compat] parquet spark_catalog.default.item (3)
         :     :                 +- CometBroadcastExchange (14)
         :     :                    +- CometProject (13)
         :     :                       +- CometBroadcastHashJoin (12)
         :     :                          :- CometFilter (10)
         :     :                          :  +- CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim (9)
         :     :                          +- ReusedExchange (11)
         :     +- CometBroadcastExchange (38)
         :        +- CometFilter (37)
         :           +- CometHashAggregate (36)
         :              +- CometExchange (35)
         :                 +- CometHashAggregate (34)
         :                    +- CometProject (33)
         :                       +- CometBroadcastHashJoin (32)
         :                          :- CometProject (25)
         :                          :  +- CometBroadcastHashJoin (24)
         :                          :     :- CometFilter (22)
         :                          :     :  +- CometScan [native_iceberg_compat] parquet spark_catalog.default.catalog_sales (21)
         :                          :     +- ReusedExchange (23)
         :                          +- CometBroadcastExchange (31)
         :                             +- CometProject (30)
         :                                +- CometBroadcastHashJoin (29)
         :                                   :- CometFilter (27)
         :                                   :  +- CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim (26)
         :                                   +- ReusedExchange (28)
         +- CometBroadcastExchange (53)
            +- CometFilter (52)
               +- CometHashAggregate (51)
                  +- CometExchange (50)
                     +- CometHashAggregate (49)
                        +- CometProject (48)
                           +- CometBroadcastHashJoin (47)
                              :- CometProject (45)
                              :  +- CometBroadcastHashJoin (44)
                              :     :- CometFilter (42)
                              :     :  +- CometScan [native_iceberg_compat] parquet spark_catalog.default.web_sales (41)
                              :     +- ReusedExchange (43)
                              +- ReusedExchange (46)


(1) CometScan [native_iceberg_compat] parquet spark_catalog.default.store_sales
Output [3]: [ss_item_sk#1, ss_ext_sales_price#2, ss_sold_date_sk#3]
Batched: true
Location: InMemoryFileIndex []
PartitionFilters: [isnotnull(ss_sold_date_sk#3), dynamicpruningexpression(ss_sold_date_sk#3 IN dynamicpruning#4)]
PushedFilters: [IsNotNull(ss_item_sk)]
ReadSchema: struct<ss_item_sk:int,ss_ext_sales_price:decimal(7,2)>

(2) CometFilter
Input [3]: [ss_item_sk#1, ss_ext_sales_price#2, ss_sold_date_sk#3]
Condition : isnotnull(ss_item_sk#1)

(3) CometScan [native_iceberg_compat] parquet spark_catalog.default.item
Output [2]: [i_item_sk#5, i_item_id#6]
Batched: true
Location [not included in comparison]/{warehouse_dir}/item]
PushedFilters: [IsNotNull(i_item_sk)]
ReadSchema: struct<i_item_sk:int,i_item_id:string>

(4) CometFilter
Input [2]: [i_item_sk#5, i_item_id#6]
Condition : (isnotnull(i_item_sk#5) AND isnotnull(staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, i_item_id#6, 16, true, false, true)))

(5) CometProject
Input [2]: [i_item_sk#5, i_item_id#6]
Arguments: [i_item_sk#5, i_item_id#7], [i_item_sk#5, staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, i_item_id#6, 16, true, false, true) AS i_item_id#7]

(6) CometBroadcastExchange
Input [2]: [i_item_sk#5, i_item_id#7]
Arguments: [i_item_sk#5, i_item_id#7]

(7) CometBroadcastHashJoin
Left output [3]: [ss_item_sk#1, ss_ext_sales_price#2, ss_sold_date_sk#3]
Right output [2]: [i_item_sk#5, i_item_id#7]
Arguments: [ss_item_sk#1], [i_item_sk#5], Inner, BuildRight

(8) CometProject
Input [5]: [ss_item_sk#1, ss_ext_sales_price#2, ss_sold_date_sk#3, i_item_sk#5, i_item_id#7]
Arguments: [ss_ext_sales_price#2, ss_sold_date_sk#3, i_item_id#7], [ss_ext_sales_price#2, ss_sold_date_sk#3, i_item_id#7]

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

(10) CometFilter
Input [2]: [d_date_sk#8, d_date#9]
Condition : isnotnull(d_date_sk#8)

(11) ReusedExchange [Reuses operator id: 63]
Output [1]: [d_date#9#10]

(12) CometBroadcastHashJoin
Left output [2]: [d_date_sk#8, d_date#9]
Right output [1]: [d_date#9#10]
Arguments: [d_date#9], [d_date#9#10], LeftSemi, BuildRight

(13) CometProject
Input [2]: [d_date_sk#8, d_date#9]
Arguments: [d_date_sk#8], [d_date_sk#8]

(14) CometBroadcastExchange
Input [1]: [d_date_sk#8]
Arguments: [d_date_sk#8]

(15) CometBroadcastHashJoin
Left output [3]: [ss_ext_sales_price#2, ss_sold_date_sk#3, i_item_id#7]
Right output [1]: [d_date_sk#8]
Arguments: [ss_sold_date_sk#3], [d_date_sk#8], Inner, BuildRight

(16) CometProject
Input [4]: [ss_ext_sales_price#2, ss_sold_date_sk#3, i_item_id#7, d_date_sk#8]
Arguments: [ss_ext_sales_price#2, i_item_id#7], [ss_ext_sales_price#2, i_item_id#7]

(17) CometHashAggregate
Input [2]: [ss_ext_sales_price#2, i_item_id#7]
Keys [1]: [i_item_id#7]
Functions [1]: [partial_sum(UnscaledValue(ss_ext_sales_price#2))]

(18) CometExchange
Input [2]: [i_item_id#7, sum#11]
Arguments: hashpartitioning(i_item_id#7, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=1]

(19) CometHashAggregate
Input [2]: [i_item_id#7, sum#11]
Keys [1]: [i_item_id#7]
Functions [1]: [sum(UnscaledValue(ss_ext_sales_price#2))]

(20) CometFilter
Input [2]: [item_id#12, ss_item_rev#13]
Condition : isnotnull(ss_item_rev#13)

(21) CometScan [native_iceberg_compat] parquet spark_catalog.default.catalog_sales
Output [3]: [cs_item_sk#14, cs_ext_sales_price#15, cs_sold_date_sk#16]
Batched: true
Location: InMemoryFileIndex []
PartitionFilters: [isnotnull(cs_sold_date_sk#16), dynamicpruningexpression(cs_sold_date_sk#16 IN dynamicpruning#17)]
PushedFilters: [IsNotNull(cs_item_sk)]
ReadSchema: struct<cs_item_sk:int,cs_ext_sales_price:decimal(7,2)>

(22) CometFilter
Input [3]: [cs_item_sk#14, cs_ext_sales_price#15, cs_sold_date_sk#16]
Condition : isnotnull(cs_item_sk#14)

(23) ReusedExchange [Reuses operator id: 6]
Output [2]: [i_item_sk#18, i_item_id#19]

(24) CometBroadcastHashJoin
Left output [3]: [cs_item_sk#14, cs_ext_sales_price#15, cs_sold_date_sk#16]
Right output [2]: [i_item_sk#18, i_item_id#19]
Arguments: [cs_item_sk#14], [i_item_sk#18], Inner, BuildRight

(25) CometProject
Input [5]: [cs_item_sk#14, cs_ext_sales_price#15, cs_sold_date_sk#16, i_item_sk#18, i_item_id#19]
Arguments: [cs_ext_sales_price#15, cs_sold_date_sk#16, i_item_id#19], [cs_ext_sales_price#15, cs_sold_date_sk#16, i_item_id#19]

(26) CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim
Output [2]: [d_date_sk#20, d_date#21]
Batched: true
Location [not included in comparison]/{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_date_sk)]
ReadSchema: struct<d_date_sk:int,d_date:date>

(27) CometFilter
Input [2]: [d_date_sk#20, d_date#21]
Condition : isnotnull(d_date_sk#20)

(28) ReusedExchange [Reuses operator id: 77]
Output [1]: [d_date#9]

(29) CometBroadcastHashJoin
Left output [2]: [d_date_sk#20, d_date#21]
Right output [1]: [d_date#9]
Arguments: [d_date#21], [d_date#9], LeftSemi, BuildRight

(30) CometProject
Input [2]: [d_date_sk#20, d_date#21]
Arguments: [d_date_sk#20], [d_date_sk#20]

(31) CometBroadcastExchange
Input [1]: [d_date_sk#20]
Arguments: [d_date_sk#20]

(32) CometBroadcastHashJoin
Left output [3]: [cs_ext_sales_price#15, cs_sold_date_sk#16, i_item_id#19]
Right output [1]: [d_date_sk#20]
Arguments: [cs_sold_date_sk#16], [d_date_sk#20], Inner, BuildRight

(33) CometProject
Input [4]: [cs_ext_sales_price#15, cs_sold_date_sk#16, i_item_id#19, d_date_sk#20]
Arguments: [cs_ext_sales_price#15, i_item_id#19], [cs_ext_sales_price#15, i_item_id#19]

(34) CometHashAggregate
Input [2]: [cs_ext_sales_price#15, i_item_id#19]
Keys [1]: [i_item_id#19]
Functions [1]: [partial_sum(UnscaledValue(cs_ext_sales_price#15))]

(35) CometExchange
Input [2]: [i_item_id#19, sum#22]
Arguments: hashpartitioning(i_item_id#19, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=2]

(36) CometHashAggregate
Input [2]: [i_item_id#19, sum#22]
Keys [1]: [i_item_id#19]
Functions [1]: [sum(UnscaledValue(cs_ext_sales_price#15))]

(37) CometFilter
Input [2]: [item_id#23, cs_item_rev#24]
Condition : isnotnull(cs_item_rev#24)

(38) CometBroadcastExchange
Input [2]: [item_id#23, cs_item_rev#24]
Arguments: [item_id#23, cs_item_rev#24]

(39) CometBroadcastHashJoin
Left output [2]: [item_id#12, ss_item_rev#13]
Right output [2]: [item_id#23, cs_item_rev#24]
Arguments: [item_id#12], [item_id#23], Inner, ((((cast(ss_item_rev#13 as decimal(19,3)) >= (0.9 * cs_item_rev#24)) AND (cast(ss_item_rev#13 as decimal(20,3)) <= (1.1 * cs_item_rev#24))) AND (cast(cs_item_rev#24 as decimal(19,3)) >= (0.9 * ss_item_rev#13))) AND (cast(cs_item_rev#24 as decimal(20,3)) <= (1.1 * ss_item_rev#13))), BuildRight

(40) CometProject
Input [4]: [item_id#12, ss_item_rev#13, item_id#23, cs_item_rev#24]
Arguments: [item_id#12, ss_item_rev#13, cs_item_rev#24], [item_id#12, ss_item_rev#13, cs_item_rev#24]

(41) CometScan [native_iceberg_compat] parquet spark_catalog.default.web_sales
Output [3]: [ws_item_sk#25, ws_ext_sales_price#26, ws_sold_date_sk#27]
Batched: true
Location: InMemoryFileIndex []
PartitionFilters: [isnotnull(ws_sold_date_sk#27), dynamicpruningexpression(ws_sold_date_sk#27 IN dynamicpruning#28)]
PushedFilters: [IsNotNull(ws_item_sk)]
ReadSchema: struct<ws_item_sk:int,ws_ext_sales_price:decimal(7,2)>

(42) CometFilter
Input [3]: [ws_item_sk#25, ws_ext_sales_price#26, ws_sold_date_sk#27]
Condition : isnotnull(ws_item_sk#25)

(43) ReusedExchange [Reuses operator id: 6]
Output [2]: [i_item_sk#29, i_item_id#30]

(44) CometBroadcastHashJoin
Left output [3]: [ws_item_sk#25, ws_ext_sales_price#26, ws_sold_date_sk#27]
Right output [2]: [i_item_sk#29, i_item_id#30]
Arguments: [ws_item_sk#25], [i_item_sk#29], Inner, BuildRight

(45) CometProject
Input [5]: [ws_item_sk#25, ws_ext_sales_price#26, ws_sold_date_sk#27, i_item_sk#29, i_item_id#30]
Arguments: [ws_ext_sales_price#26, ws_sold_date_sk#27, i_item_id#30], [ws_ext_sales_price#26, ws_sold_date_sk#27, i_item_id#30]

(46) ReusedExchange [Reuses operator id: 31]
Output [1]: [d_date_sk#31]

(47) CometBroadcastHashJoin
Left output [3]: [ws_ext_sales_price#26, ws_sold_date_sk#27, i_item_id#30]
Right output [1]: [d_date_sk#31]
Arguments: [ws_sold_date_sk#27], [d_date_sk#31], Inner, BuildRight

(48) CometProject
Input [4]: [ws_ext_sales_price#26, ws_sold_date_sk#27, i_item_id#30, d_date_sk#31]
Arguments: [ws_ext_sales_price#26, i_item_id#30], [ws_ext_sales_price#26, i_item_id#30]

(49) CometHashAggregate
Input [2]: [ws_ext_sales_price#26, i_item_id#30]
Keys [1]: [i_item_id#30]
Functions [1]: [partial_sum(UnscaledValue(ws_ext_sales_price#26))]

(50) CometExchange
Input [2]: [i_item_id#30, sum#32]
Arguments: hashpartitioning(i_item_id#30, 5), ENSURE_REQUIREMENTS, CometNativeShuffle, [plan_id=3]

(51) CometHashAggregate
Input [2]: [i_item_id#30, sum#32]
Keys [1]: [i_item_id#30]
Functions [1]: [sum(UnscaledValue(ws_ext_sales_price#26))]

(52) CometFilter
Input [2]: [item_id#33, ws_item_rev#34]
Condition : isnotnull(ws_item_rev#34)

(53) CometBroadcastExchange
Input [2]: [item_id#33, ws_item_rev#34]
Arguments: [item_id#33, ws_item_rev#34]

(54) CometBroadcastHashJoin
Left output [3]: [item_id#12, ss_item_rev#13, cs_item_rev#24]
Right output [2]: [item_id#33, ws_item_rev#34]
Arguments: [item_id#12], [item_id#33], Inner, ((((((((cast(ss_item_rev#13 as decimal(19,3)) >= (0.9 * ws_item_rev#34)) AND (cast(ss_item_rev#13 as decimal(20,3)) <= (1.1 * ws_item_rev#34))) AND (cast(cs_item_rev#24 as decimal(19,3)) >= (0.9 * ws_item_rev#34))) AND (cast(cs_item_rev#24 as decimal(20,3)) <= (1.1 * ws_item_rev#34))) AND (cast(ws_item_rev#34 as decimal(19,3)) >= (0.9 * ss_item_rev#13))) AND (cast(ws_item_rev#34 as decimal(20,3)) <= (1.1 * ss_item_rev#13))) AND (cast(ws_item_rev#34 as decimal(19,3)) >= (0.9 * cs_item_rev#24))) AND (cast(ws_item_rev#34 as decimal(20,3)) <= (1.1 * cs_item_rev#24))), BuildRight

(55) CometProject
Input [5]: [item_id#12, ss_item_rev#13, cs_item_rev#24, item_id#33, ws_item_rev#34]
Arguments: [item_id#12, ss_item_rev#13, ss_dev#35, cs_item_rev#24, cs_dev#36, ws_item_rev#34, ws_dev#37, average#38], [item_id#12, ss_item_rev#13, (((ss_item_rev#13 / ((ss_item_rev#13 + cs_item_rev#24) + ws_item_rev#34)) / 3) * 100) AS ss_dev#35, cs_item_rev#24, (((cs_item_rev#24 / ((ss_item_rev#13 + cs_item_rev#24) + ws_item_rev#34)) / 3) * 100) AS cs_dev#36, ws_item_rev#34, (((ws_item_rev#34 / ((ss_item_rev#13 + cs_item_rev#24) + ws_item_rev#34)) / 3) * 100) AS ws_dev#37, (((ss_item_rev#13 + cs_item_rev#24) + ws_item_rev#34) / 3) AS average#38]

(56) CometTakeOrderedAndProject
Input [8]: [item_id#12, ss_item_rev#13, ss_dev#35, cs_item_rev#24, cs_dev#36, ws_item_rev#34, ws_dev#37, average#38]
Arguments: TakeOrderedAndProject(limit=100, orderBy=[item_id#12 ASC NULLS FIRST,ss_item_rev#13 ASC NULLS FIRST], output=[item_id#12,ss_item_rev#13,ss_dev#35,cs_item_rev#24,cs_dev#36,ws_item_rev#34,ws_dev#37,average#38]), [item_id#12, ss_item_rev#13, ss_dev#35, cs_item_rev#24, cs_dev#36, ws_item_rev#34, ws_dev#37, average#38], 100, 0, [item_id#12 ASC NULLS FIRST, ss_item_rev#13 ASC NULLS FIRST], [item_id#12, ss_item_rev#13, ss_dev#35, cs_item_rev#24, cs_dev#36, ws_item_rev#34, ws_dev#37, average#38]

(57) CometColumnarToRow [codegen id : 1]
Input [8]: [item_id#12, ss_item_rev#13, ss_dev#35, cs_item_rev#24, cs_dev#36, ws_item_rev#34, ws_dev#37, average#38]

===== Subqueries =====

Subquery:1 Hosting operator id = 1 Hosting Expression = ss_sold_date_sk#3 IN dynamicpruning#4
BroadcastExchange (67)
+- * CometColumnarToRow (66)
   +- CometProject (65)
      +- CometBroadcastHashJoin (64)
         :- CometFilter (59)
         :  +- CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim (58)
         +- CometBroadcastExchange (63)
            +- CometProject (62)
               +- CometFilter (61)
                  +- CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim (60)


(58) CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim
Output [2]: [d_date_sk#8, d_date#9]
Batched: true
Location [not included in comparison]/{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_date_sk)]
ReadSchema: struct<d_date_sk:int,d_date:date>

(59) CometFilter
Input [2]: [d_date_sk#8, d_date#9]
Condition : isnotnull(d_date_sk#8)

(60) CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim
Output [2]: [d_date#9, d_week_seq#39]
Batched: true
Location [not included in comparison]/{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_week_seq)]
ReadSchema: struct<d_date:date,d_week_seq:int>

(61) CometFilter
Input [2]: [d_date#9, d_week_seq#39]
Condition : (isnotnull(d_week_seq#39) AND (d_week_seq#39 = Subquery scalar-subquery#40, [id=#41]))

(62) CometProject
Input [2]: [d_date#9, d_week_seq#39]
Arguments: [d_date#9#10], [d_date#9 AS d_date#9#10]

(63) CometBroadcastExchange
Input [1]: [d_date#9#10]
Arguments: [d_date#9#10]

(64) CometBroadcastHashJoin
Left output [2]: [d_date_sk#8, d_date#9]
Right output [1]: [d_date#9#10]
Arguments: [d_date#9], [d_date#9#10], LeftSemi, BuildRight

(65) CometProject
Input [2]: [d_date_sk#8, d_date#9]
Arguments: [d_date_sk#8], [d_date_sk#8]

(66) CometColumnarToRow [codegen id : 1]
Input [1]: [d_date_sk#8]

(67) BroadcastExchange
Input [1]: [d_date_sk#8]
Arguments: HashedRelationBroadcastMode(List(cast(input[0, int, true] as bigint)),false), [plan_id=4]

Subquery:2 Hosting operator id = 61 Hosting Expression = Subquery scalar-subquery#40, [id=#41]
* CometColumnarToRow (71)
+- CometProject (70)
   +- CometFilter (69)
      +- CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim (68)


(68) CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim
Output [2]: [d_date#9, d_week_seq#39]
Batched: true
Location [not included in comparison]/{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_date), EqualTo(d_date,2000-01-03)]
ReadSchema: struct<d_date:date,d_week_seq:int>

(69) CometFilter
Input [2]: [d_date#9, d_week_seq#39]
Condition : (isnotnull(d_date#9) AND (d_date#9 = 2000-01-03))

(70) CometProject
Input [2]: [d_date#9, d_week_seq#39]
Arguments: [d_week_seq#39], [d_week_seq#39]

(71) CometColumnarToRow [codegen id : 1]
Input [1]: [d_week_seq#39]

Subquery:3 Hosting operator id = 21 Hosting Expression = cs_sold_date_sk#16 IN dynamicpruning#17
BroadcastExchange (81)
+- * CometColumnarToRow (80)
   +- CometProject (79)
      +- CometBroadcastHashJoin (78)
         :- CometFilter (73)
         :  +- CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim (72)
         +- CometBroadcastExchange (77)
            +- CometProject (76)
               +- CometFilter (75)
                  +- CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim (74)


(72) CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim
Output [2]: [d_date_sk#20, d_date#21]
Batched: true
Location [not included in comparison]/{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_date_sk)]
ReadSchema: struct<d_date_sk:int,d_date:date>

(73) CometFilter
Input [2]: [d_date_sk#20, d_date#21]
Condition : isnotnull(d_date_sk#20)

(74) CometScan [native_iceberg_compat] parquet spark_catalog.default.date_dim
Output [2]: [d_date#9, d_week_seq#39]
Batched: true
Location [not included in comparison]/{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_week_seq)]
ReadSchema: struct<d_date:date,d_week_seq:int>

(75) CometFilter
Input [2]: [d_date#9, d_week_seq#39]
Condition : (isnotnull(d_week_seq#39) AND (d_week_seq#39 = ReusedSubquery Subquery scalar-subquery#40, [id=#41]))

(76) CometProject
Input [2]: [d_date#9, d_week_seq#39]
Arguments: [d_date#9], [d_date#9]

(77) CometBroadcastExchange
Input [1]: [d_date#9]
Arguments: [d_date#9]

(78) CometBroadcastHashJoin
Left output [2]: [d_date_sk#20, d_date#21]
Right output [1]: [d_date#9]
Arguments: [d_date#21], [d_date#9], LeftSemi, BuildRight

(79) CometProject
Input [2]: [d_date_sk#20, d_date#21]
Arguments: [d_date_sk#20], [d_date_sk#20]

(80) CometColumnarToRow [codegen id : 1]
Input [1]: [d_date_sk#20]

(81) BroadcastExchange
Input [1]: [d_date_sk#20]
Arguments: HashedRelationBroadcastMode(List(cast(input[0, int, true] as bigint)),false), [plan_id=5]

Subquery:4 Hosting operator id = 75 Hosting Expression = ReusedSubquery Subquery scalar-subquery#40, [id=#41]

Subquery:5 Hosting operator id = 41 Hosting Expression = ws_sold_date_sk#27 IN dynamicpruning#17


