VeloxColumnarToRow
  TakeOrderedAndProjectExecTransformer [i_item_id,s_state,g_state,agg1,agg2,agg3,agg4]
    ColumnarUnion
      WholeStageCodegenTransformer (7)
        ProjectExecTransformer [i_item_id,s_state,avg(agg1),avg(UnscaledValue(agg2)),avg(UnscaledValue(agg3)),avg(UnscaledValue(agg4))]
          RegularHashAggregateExecTransformer [i_item_id,s_state,sum,count,sum,count,sum,count,sum,count] [avg(agg1),avg(UnscaledValue(agg2)),avg(UnscaledValue(agg3)),avg(UnscaledValue(agg4)),sum,count,sum,count,sum,count,sum,count]
            InputIteratorTransformer
              InputAdapter
                ColumnarExchange [i_item_id,s_state,sum,count,sum,count,sum,count,sum,count] #1
                  VeloxResizeBatches
                    WholeStageCodegenTransformer (6)
                      ProjectExecTransformer [i_item_id,s_state,sum,count,sum,count,sum,count,sum,count]
                        FlushableHashAggregateExecTransformer [i_item_id,s_state,agg1,_pre_x,_pre_x,_pre_x] [sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
                          ProjectExecTransformer [i_item_id,s_state,ss_quantity,ss_list_price,ss_coupon_amt,ss_sales_price]
                            BroadcastHashJoinExecTransformer [ss_item_sk,i_item_sk]
                              ProjectExecTransformer [ss_item_sk,ss_quantity,ss_list_price,ss_sales_price,ss_coupon_amt,s_state]
                                BroadcastHashJoinExecTransformer [ss_store_sk,s_store_sk]
                                  ProjectExecTransformer [ss_item_sk,ss_store_sk,ss_quantity,ss_list_price,ss_sales_price,ss_coupon_amt]
                                    BroadcastHashJoinExecTransformer [ss_sold_date_sk,d_date_sk]
                                      ProjectExecTransformer [ss_item_sk,ss_store_sk,ss_quantity,ss_list_price,ss_sales_price,ss_coupon_amt,ss_sold_date_sk]
                                        BroadcastHashJoinExecTransformer [ss_cdemo_sk,cd_demo_sk]
                                          FilterExecTransformer [ss_cdemo_sk,ss_store_sk,ss_item_sk]
                                            FileSourceScanExecTransformer parquet spark_catalog.default.store_sales [ss_item_sk,ss_cdemo_sk,ss_store_sk,ss_quantity,ss_list_price,ss_sales_price,ss_coupon_amt,ss_sold_date_sk]
                                              ColumnarSubqueryBroadcast [d_date_sk] #1
                                                ColumnarBroadcastExchange #2
                                                  WholeStageCodegenTransformer (1)
                                                    ProjectExecTransformer [d_date_sk]
                                                      FilterExecTransformer [d_year,d_date_sk]
                                                        FileSourceScanExecTransformer parquet spark_catalog.default.date_dim [d_date_sk,d_year]
                                          InputIteratorTransformer
                                            InputAdapter
                                              ColumnarBroadcastExchange #3
                                                WholeStageCodegenTransformer (2)
                                                  ProjectExecTransformer [cd_demo_sk]
                                                    FilterExecTransformer [cd_gender,cd_marital_status,cd_education_status,cd_demo_sk]
                                                      FileSourceScanExecTransformer parquet spark_catalog.default.customer_demographics [cd_demo_sk,cd_gender,cd_marital_status,cd_education_status]
                                      InputIteratorTransformer
                                        InputAdapter
                                          ReusedExchange [d_date_sk] #2
                                  InputIteratorTransformer
                                    InputAdapter
                                      ColumnarBroadcastExchange #4
                                        WholeStageCodegenTransformer (4)
                                          FilterExecTransformer [s_state,s_store_sk]
                                            FileSourceScanExecTransformer parquet spark_catalog.default.store [s_store_sk,s_state]
                              InputIteratorTransformer
                                InputAdapter
                                  ColumnarBroadcastExchange #5
                                    WholeStageCodegenTransformer (5)
                                      FilterExecTransformer [i_item_sk]
                                        FileSourceScanExecTransformer parquet spark_catalog.default.item [i_item_sk,i_item_id]
      WholeStageCodegenTransformer (14)
        ProjectExecTransformer [i_item_id,avg(agg1),avg(UnscaledValue(agg2)),avg(UnscaledValue(agg3)),avg(UnscaledValue(agg4))]
          RegularHashAggregateExecTransformer [i_item_id,sum,count,sum,count,sum,count,sum,count] [avg(agg1),avg(UnscaledValue(agg2)),avg(UnscaledValue(agg3)),avg(UnscaledValue(agg4)),sum,count,sum,count,sum,count,sum,count]
            InputIteratorTransformer
              InputAdapter
                ColumnarExchange [i_item_id,sum,count,sum,count,sum,count,sum,count] #6
                  VeloxResizeBatches
                    WholeStageCodegenTransformer (13)
                      ProjectExecTransformer [i_item_id,sum,count,sum,count,sum,count,sum,count]
                        FlushableHashAggregateExecTransformer [i_item_id,agg1,_pre_x,_pre_x,_pre_x] [sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
                          ProjectExecTransformer [i_item_id,ss_quantity,ss_list_price,ss_coupon_amt,ss_sales_price]
                            BroadcastHashJoinExecTransformer [ss_item_sk,i_item_sk]
                              ProjectExecTransformer [ss_item_sk,ss_quantity,ss_list_price,ss_sales_price,ss_coupon_amt]
                                BroadcastHashJoinExecTransformer [ss_store_sk,s_store_sk]
                                  ProjectExecTransformer [ss_item_sk,ss_store_sk,ss_quantity,ss_list_price,ss_sales_price,ss_coupon_amt]
                                    BroadcastHashJoinExecTransformer [ss_sold_date_sk,d_date_sk]
                                      ProjectExecTransformer [ss_item_sk,ss_store_sk,ss_quantity,ss_list_price,ss_sales_price,ss_coupon_amt,ss_sold_date_sk]
                                        BroadcastHashJoinExecTransformer [ss_cdemo_sk,cd_demo_sk]
                                          FilterExecTransformer [ss_cdemo_sk,ss_store_sk,ss_item_sk]
                                            FileSourceScanExecTransformer parquet spark_catalog.default.store_sales [ss_item_sk,ss_cdemo_sk,ss_store_sk,ss_quantity,ss_list_price,ss_sales_price,ss_coupon_amt,ss_sold_date_sk]
                                              ReusedSubquery [d_date_sk] #1
                                          InputIteratorTransformer
                                            InputAdapter
                                              ReusedExchange [cd_demo_sk] #3
                                      InputIteratorTransformer
                                        InputAdapter
                                          ReusedExchange [d_date_sk] #2
                                  InputIteratorTransformer
                                    InputAdapter
                                      ColumnarBroadcastExchange #7
                                        WholeStageCodegenTransformer (11)
                                          ProjectExecTransformer [s_store_sk]
                                            FilterExecTransformer [s_state,s_store_sk]
                                              FileSourceScanExecTransformer parquet spark_catalog.default.store [s_store_sk,s_state]
                              InputIteratorTransformer
                                InputAdapter
                                  ReusedExchange [i_item_sk,i_item_id] #5
      WholeStageCodegenTransformer (21)
        ProjectExecTransformer [avg(agg1),avg(UnscaledValue(agg2)),avg(UnscaledValue(agg3)),avg(UnscaledValue(agg4))]
          RegularHashAggregateExecTransformer [sum,count,sum,count,sum,count,sum,count] [avg(agg1),avg(UnscaledValue(agg2)),avg(UnscaledValue(agg3)),avg(UnscaledValue(agg4)),sum,count,sum,count,sum,count,sum,count]
            InputIteratorTransformer
              InputAdapter
                ColumnarExchange #8
                  VeloxResizeBatches
                    WholeStageCodegenTransformer (20)
                      FlushableHashAggregateExecTransformer [agg1,_pre_x,_pre_x,_pre_x] [sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
                        ProjectExecTransformer [ss_quantity,ss_list_price,ss_coupon_amt,ss_sales_price]
                          BroadcastHashJoinExecTransformer [ss_item_sk,i_item_sk]
                            ProjectExecTransformer [ss_item_sk,ss_quantity,ss_list_price,ss_sales_price,ss_coupon_amt]
                              BroadcastHashJoinExecTransformer [ss_store_sk,s_store_sk]
                                ProjectExecTransformer [ss_item_sk,ss_store_sk,ss_quantity,ss_list_price,ss_sales_price,ss_coupon_amt]
                                  BroadcastHashJoinExecTransformer [ss_sold_date_sk,d_date_sk]
                                    ProjectExecTransformer [ss_item_sk,ss_store_sk,ss_quantity,ss_list_price,ss_sales_price,ss_coupon_amt,ss_sold_date_sk]
                                      BroadcastHashJoinExecTransformer [ss_cdemo_sk,cd_demo_sk]
                                        FilterExecTransformer [ss_cdemo_sk,ss_store_sk,ss_item_sk]
                                          FileSourceScanExecTransformer parquet spark_catalog.default.store_sales [ss_item_sk,ss_cdemo_sk,ss_store_sk,ss_quantity,ss_list_price,ss_sales_price,ss_coupon_amt,ss_sold_date_sk]
                                            ReusedSubquery [d_date_sk] #1
                                        InputIteratorTransformer
                                          InputAdapter
                                            ReusedExchange [cd_demo_sk] #3
                                    InputIteratorTransformer
                                      InputAdapter
                                        ReusedExchange [d_date_sk] #2
                                InputIteratorTransformer
                                  InputAdapter
                                    ReusedExchange [s_store_sk] #7
                            InputIteratorTransformer
                              InputAdapter
                                ColumnarBroadcastExchange #9
                                  WholeStageCodegenTransformer (19)
                                    FilterExecTransformer [i_item_sk]
                                      FileSourceScanExecTransformer parquet spark_catalog.default.item [i_item_sk]
