TakeOrderedAndProject [i_item_id,total_sales]
  WholeStageCodegen (17)
    HashAggregate [i_item_id,sum,isEmpty] [sum(total_sales),total_sales,sum,isEmpty]
      CometColumnarToRow
        InputAdapter
          CometColumnarExchange [i_item_id] #1
            WholeStageCodegen (16)
              HashAggregate [i_item_id,total_sales] [sum,isEmpty,sum,isEmpty]
                InputAdapter
                  Union
                    WholeStageCodegen (5)
                      HashAggregate [i_item_id,sum] [sum(UnscaledValue(ss_ext_sales_price)),i_item_id,total_sales,sum]
                        CometColumnarToRow
                          InputAdapter
                            CometColumnarExchange [i_item_id] #2
                              WholeStageCodegen (4)
                                HashAggregate [i_item_id,ss_ext_sales_price] [sum,sum]
                                  Project [ss_ext_sales_price,i_item_id]
                                    BroadcastHashJoin [ss_item_sk,i_item_sk]
                                      Project [ss_item_sk,ss_ext_sales_price]
                                        BroadcastHashJoin [ss_addr_sk,ca_address_sk]
                                          Project [ss_item_sk,ss_addr_sk,ss_ext_sales_price]
                                            BroadcastHashJoin [ss_sold_date_sk,d_date_sk]
                                              Filter [ss_addr_sk,ss_item_sk]
                                                ColumnarToRow
                                                  InputAdapter
                                                    Scan parquet spark_catalog.default.store_sales [ss_item_sk,ss_addr_sk,ss_ext_sales_price,ss_sold_date_sk]
                                                      SubqueryBroadcast [d_date_sk] #1
                                                        BroadcastExchange #3
                                                          WholeStageCodegen (1)
                                                            CometColumnarToRow
                                                              InputAdapter
                                                                CometProject [d_date_sk]
                                                                  CometFilter [d_date_sk,d_year,d_moy]
                                                                    CometNativeScan parquet spark_catalog.default.date_dim [d_date_sk,d_year,d_moy]
                                              InputAdapter
                                                ReusedExchange [d_date_sk] #3
                                          InputAdapter
                                            BroadcastExchange #4
                                              WholeStageCodegen (2)
                                                CometColumnarToRow
                                                  InputAdapter
                                                    CometProject [ca_address_sk]
                                                      CometFilter [ca_address_sk,ca_gmt_offset]
                                                        CometNativeScan parquet spark_catalog.default.customer_address [ca_address_sk,ca_gmt_offset]
                                      InputAdapter
                                        BroadcastExchange #5
                                          WholeStageCodegen (3)
                                            CometColumnarToRow
                                              InputAdapter
                                                CometProject [i_item_id] [i_item_sk,i_item_id]
                                                  CometBroadcastHashJoin [i_item_sk,i_item_id,i_item_id]
                                                    CometFilter [i_item_sk,i_item_id]
                                                      CometNativeScan parquet spark_catalog.default.item [i_item_sk,i_item_id]
                                                    CometBroadcastExchange [i_item_id] #6
                                                      CometProject [i_item_id] [i_item_id]
                                                        CometFilter [i_item_id,i_category]
                                                          CometNativeScan parquet spark_catalog.default.item [i_item_id,i_category]
                    WholeStageCodegen (10)
                      HashAggregate [i_item_id,sum] [sum(UnscaledValue(cs_ext_sales_price)),total_sales,sum]
                        CometColumnarToRow
                          InputAdapter
                            CometColumnarExchange [i_item_id] #7
                              WholeStageCodegen (9)
                                HashAggregate [i_item_id,cs_ext_sales_price] [sum,sum]
                                  Project [cs_ext_sales_price,i_item_id]
                                    BroadcastHashJoin [cs_item_sk,i_item_sk]
                                      Project [cs_item_sk,cs_ext_sales_price]
                                        BroadcastHashJoin [cs_bill_addr_sk,ca_address_sk]
                                          Project [cs_bill_addr_sk,cs_item_sk,cs_ext_sales_price]
                                            BroadcastHashJoin [cs_sold_date_sk,d_date_sk]
                                              Filter [cs_bill_addr_sk,cs_item_sk]
                                                ColumnarToRow
                                                  InputAdapter
                                                    Scan parquet spark_catalog.default.catalog_sales [cs_bill_addr_sk,cs_item_sk,cs_ext_sales_price,cs_sold_date_sk]
                                                      ReusedSubquery [d_date_sk] #1
                                              InputAdapter
                                                ReusedExchange [d_date_sk] #3
                                          InputAdapter
                                            ReusedExchange [ca_address_sk] #4
                                      InputAdapter
                                        ReusedExchange [i_item_sk,i_item_id] #5
                    WholeStageCodegen (15)
                      HashAggregate [i_item_id,sum] [sum(UnscaledValue(ws_ext_sales_price)),total_sales,sum]
                        CometColumnarToRow
                          InputAdapter
                            CometColumnarExchange [i_item_id] #8
                              WholeStageCodegen (14)
                                HashAggregate [i_item_id,ws_ext_sales_price] [sum,sum]
                                  Project [ws_ext_sales_price,i_item_id]
                                    BroadcastHashJoin [ws_item_sk,i_item_sk]
                                      Project [ws_item_sk,ws_ext_sales_price]
                                        BroadcastHashJoin [ws_bill_addr_sk,ca_address_sk]
                                          Project [ws_item_sk,ws_bill_addr_sk,ws_ext_sales_price]
                                            BroadcastHashJoin [ws_sold_date_sk,d_date_sk]
                                              Filter [ws_bill_addr_sk,ws_item_sk]
                                                ColumnarToRow
                                                  InputAdapter
                                                    Scan parquet spark_catalog.default.web_sales [ws_item_sk,ws_bill_addr_sk,ws_ext_sales_price,ws_sold_date_sk]
                                                      ReusedSubquery [d_date_sk] #1
                                              InputAdapter
                                                ReusedExchange [d_date_sk] #3
                                          InputAdapter
                                            ReusedExchange [ca_address_sk] #4
                                      InputAdapter
                                        ReusedExchange [i_item_sk,i_item_id] #5
