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]
      ColumnarToRow
        InputAdapter
          CometColumnarExchange [channel,col_name,d_year,d_qoy,i_category] #1
            RowToColumnar
              WholeStageCodegen (1)
                HashAggregate [channel,col_name,d_year,d_qoy,i_category,ext_sales_price] [count,sum,count,sum]
                  ColumnarToRow
                    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
                                  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
