TakeOrderedAndProject [channel,col_name,d_year,d_qoy,i_category,sales_cnt,sales_amt]
  WholeStageCodegen (2)
    HashAggregate [channel,col_name,d_year,d_qoy,i_category,count,sum] [count(1),sum(UnscaledValue(ext_sales_price)),sales_cnt,sales_amt,count,sum]
      CometColumnarToRow
        InputAdapter
          CometColumnarExchange [channel,col_name,d_year,d_qoy,i_category] #1
            WholeStageCodegen (1)
              HashAggregate [channel,col_name,d_year,d_qoy,i_category,ext_sales_price] [count,sum,count,sum]
                CometColumnarToRow
                  InputAdapter
                    CometUnion [channel,col_name,d_year,d_qoy,i_category,ext_sales_price]
                      CometProject [ss_store_sk,ss_ext_sales_price] [channel,col_name,d_year,d_qoy,i_category,ext_sales_price]
                        CometBroadcastHashJoin [ss_store_sk,ss_ext_sales_price,ss_sold_date_sk,i_category,d_date_sk,d_year,d_qoy]
                          CometProject [ss_store_sk,ss_ext_sales_price,ss_sold_date_sk,i_category]
                            CometBroadcastHashJoin [ss_item_sk,ss_store_sk,ss_ext_sales_price,ss_sold_date_sk,i_item_sk,i_category]
                              CometFilter [ss_item_sk,ss_store_sk,ss_ext_sales_price,ss_sold_date_sk]
                                CometScan parquet spark_catalog.default.store_sales [ss_item_sk,ss_store_sk,ss_ext_sales_price,ss_sold_date_sk]
                              CometBroadcastExchange [i_item_sk,i_category] #2
                                CometProject [i_category] [i_item_sk,i_category]
                                  CometFilter [i_item_sk,i_category]
                                    CometScan parquet spark_catalog.default.item [i_item_sk,i_category]
                          CometBroadcastExchange [d_date_sk,d_year,d_qoy] #3
                            CometFilter [d_date_sk,d_year,d_qoy]
                              CometScan parquet spark_catalog.default.date_dim [d_date_sk,d_year,d_qoy]
                      CometProject [ws_ship_customer_sk,ws_ext_sales_price] [channel,col_name,d_year,d_qoy,i_category,ext_sales_price]
                        CometBroadcastHashJoin [ws_ship_customer_sk,ws_ext_sales_price,ws_sold_date_sk,i_category,d_date_sk,d_year,d_qoy]
                          CometProject [ws_ship_customer_sk,ws_ext_sales_price,ws_sold_date_sk,i_category]
                            CometBroadcastHashJoin [ws_item_sk,ws_ship_customer_sk,ws_ext_sales_price,ws_sold_date_sk,i_item_sk,i_category]
                              CometFilter [ws_item_sk,ws_ship_customer_sk,ws_ext_sales_price,ws_sold_date_sk]
                                CometScan parquet spark_catalog.default.web_sales [ws_item_sk,ws_ship_customer_sk,ws_ext_sales_price,ws_sold_date_sk]
                              ReusedExchange [i_item_sk,i_category] #2
                          ReusedExchange [d_date_sk,d_year,d_qoy] #3
                      CometProject [cs_ship_addr_sk,cs_ext_sales_price] [channel,col_name,d_year,d_qoy,i_category,ext_sales_price]
                        CometBroadcastHashJoin [cs_ship_addr_sk,cs_ext_sales_price,cs_sold_date_sk,i_category,d_date_sk,d_year,d_qoy]
                          CometProject [cs_ship_addr_sk,cs_ext_sales_price,cs_sold_date_sk,i_category]
                            CometBroadcastHashJoin [cs_ship_addr_sk,cs_item_sk,cs_ext_sales_price,cs_sold_date_sk,i_item_sk,i_category]
                              CometFilter [cs_ship_addr_sk,cs_item_sk,cs_ext_sales_price,cs_sold_date_sk]
                                CometScan parquet spark_catalog.default.catalog_sales [cs_ship_addr_sk,cs_item_sk,cs_ext_sales_price,cs_sold_date_sk]
                              ReusedExchange [i_item_sk,i_category] #2
                          ReusedExchange [d_date_sk,d_year,d_qoy] #3
