WholeStageCodegen (12)
  BroadcastNestedLoopJoin
    BroadcastNestedLoopJoin
      BroadcastNestedLoopJoin
        BroadcastNestedLoopJoin
          BroadcastNestedLoopJoin
            ColumnarToRow
              InputAdapter
                CometHashAggregate [B1_LP,B1_CNT,B1_CNTD,sum,count,count,count,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
                  CometColumnarExchange #1
                    RowToColumnar
                      WholeStageCodegen (1)
                        HashAggregate [ss_list_price] [avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
                          HashAggregate [ss_list_price] [avg(UnscaledValue(ss_list_price)),count(ss_list_price),sum,count,count,sum,count,count]
                            ColumnarToRow
                              InputAdapter
                                CometColumnarExchange [ss_list_price] #2
                                  CometHashAggregate [ss_list_price,sum,count,count]
                                    CometProject [ss_list_price]
                                      CometFilter [ss_quantity,ss_wholesale_cost,ss_list_price,ss_coupon_amt,ss_sold_date_sk]
                                        CometScan parquet spark_catalog.default.store_sales [ss_quantity,ss_wholesale_cost,ss_list_price,ss_coupon_amt,ss_sold_date_sk]
            InputAdapter
              BroadcastExchange #3
                WholeStageCodegen (3)
                  ColumnarToRow
                    InputAdapter
                      CometHashAggregate [B2_LP,B2_CNT,B2_CNTD,sum,count,count,count,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
                        CometColumnarExchange #4
                          RowToColumnar
                            WholeStageCodegen (2)
                              HashAggregate [ss_list_price] [avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
                                HashAggregate [ss_list_price] [avg(UnscaledValue(ss_list_price)),count(ss_list_price),sum,count,count,sum,count,count]
                                  ColumnarToRow
                                    InputAdapter
                                      CometColumnarExchange [ss_list_price] #5
                                        CometHashAggregate [ss_list_price,sum,count,count]
                                          CometProject [ss_list_price]
                                            CometFilter [ss_quantity,ss_wholesale_cost,ss_list_price,ss_coupon_amt,ss_sold_date_sk]
                                              CometScan parquet spark_catalog.default.store_sales [ss_quantity,ss_wholesale_cost,ss_list_price,ss_coupon_amt,ss_sold_date_sk]
          InputAdapter
            BroadcastExchange #6
              WholeStageCodegen (5)
                ColumnarToRow
                  InputAdapter
                    CometHashAggregate [B3_LP,B3_CNT,B3_CNTD,sum,count,count,count,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
                      CometColumnarExchange #7
                        RowToColumnar
                          WholeStageCodegen (4)
                            HashAggregate [ss_list_price] [avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
                              HashAggregate [ss_list_price] [avg(UnscaledValue(ss_list_price)),count(ss_list_price),sum,count,count,sum,count,count]
                                ColumnarToRow
                                  InputAdapter
                                    CometColumnarExchange [ss_list_price] #8
                                      CometHashAggregate [ss_list_price,sum,count,count]
                                        CometProject [ss_list_price]
                                          CometFilter [ss_quantity,ss_wholesale_cost,ss_list_price,ss_coupon_amt,ss_sold_date_sk]
                                            CometScan parquet spark_catalog.default.store_sales [ss_quantity,ss_wholesale_cost,ss_list_price,ss_coupon_amt,ss_sold_date_sk]
        InputAdapter
          BroadcastExchange #9
            WholeStageCodegen (7)
              ColumnarToRow
                InputAdapter
                  CometHashAggregate [B4_LP,B4_CNT,B4_CNTD,sum,count,count,count,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
                    CometColumnarExchange #10
                      RowToColumnar
                        WholeStageCodegen (6)
                          HashAggregate [ss_list_price] [avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
                            HashAggregate [ss_list_price] [avg(UnscaledValue(ss_list_price)),count(ss_list_price),sum,count,count,sum,count,count]
                              ColumnarToRow
                                InputAdapter
                                  CometColumnarExchange [ss_list_price] #11
                                    CometHashAggregate [ss_list_price,sum,count,count]
                                      CometProject [ss_list_price]
                                        CometFilter [ss_quantity,ss_wholesale_cost,ss_list_price,ss_coupon_amt,ss_sold_date_sk]
                                          CometScan parquet spark_catalog.default.store_sales [ss_quantity,ss_wholesale_cost,ss_list_price,ss_coupon_amt,ss_sold_date_sk]
      InputAdapter
        BroadcastExchange #12
          WholeStageCodegen (9)
            ColumnarToRow
              InputAdapter
                CometHashAggregate [B5_LP,B5_CNT,B5_CNTD,sum,count,count,count,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
                  CometColumnarExchange #13
                    RowToColumnar
                      WholeStageCodegen (8)
                        HashAggregate [ss_list_price] [avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
                          HashAggregate [ss_list_price] [avg(UnscaledValue(ss_list_price)),count(ss_list_price),sum,count,count,sum,count,count]
                            ColumnarToRow
                              InputAdapter
                                CometColumnarExchange [ss_list_price] #14
                                  CometHashAggregate [ss_list_price,sum,count,count]
                                    CometProject [ss_list_price]
                                      CometFilter [ss_quantity,ss_wholesale_cost,ss_list_price,ss_coupon_amt,ss_sold_date_sk]
                                        CometScan parquet spark_catalog.default.store_sales [ss_quantity,ss_wholesale_cost,ss_list_price,ss_coupon_amt,ss_sold_date_sk]
    InputAdapter
      BroadcastExchange #15
        WholeStageCodegen (11)
          ColumnarToRow
            InputAdapter
              CometHashAggregate [B6_LP,B6_CNT,B6_CNTD,sum,count,count,count,avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price)]
                CometColumnarExchange #16
                  RowToColumnar
                    WholeStageCodegen (10)
                      HashAggregate [ss_list_price] [avg(UnscaledValue(ss_list_price)),count(ss_list_price),count(ss_list_price),sum,count,count,count,sum,count,count,count]
                        HashAggregate [ss_list_price] [avg(UnscaledValue(ss_list_price)),count(ss_list_price),sum,count,count,sum,count,count]
                          ColumnarToRow
                            InputAdapter
                              CometColumnarExchange [ss_list_price] #17
                                CometHashAggregate [ss_list_price,sum,count,count]
                                  CometProject [ss_list_price]
                                    CometFilter [ss_quantity,ss_wholesale_cost,ss_list_price,ss_coupon_amt,ss_sold_date_sk]
                                      CometScan parquet spark_catalog.default.store_sales [ss_quantity,ss_wholesale_cost,ss_list_price,ss_coupon_amt,ss_sold_date_sk]
