VeloxColumnarToRow
  TakeOrderedAndProjectExecTransformer [ca_country,ca_state,ca_county,i_item_id,agg1,agg2,agg3,agg4,agg5,agg6,agg7]
    ColumnarUnion
      WholeStageCodegenTransformer (11)
        RegularHashAggregateExecTransformer [i_item_id,ca_country,ca_state,ca_county,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count] [avg(agg1),avg(agg2),avg(agg3),avg(agg4),avg(agg5),avg(agg6),avg(agg7),agg1,agg2,agg3,agg4,agg5,agg6,agg7,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
          InputIteratorTransformer
            InputAdapter
              ColumnarExchange [i_item_id,ca_country,ca_state,ca_county,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count] #1
                VeloxResizeBatches
                  WholeStageCodegenTransformer (10)
                    ProjectExecTransformer [i_item_id,ca_country,ca_state,ca_county,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
                      FlushableHashAggregateExecTransformer [i_item_id,ca_country,ca_state,ca_county,agg1,agg2,agg3,agg4,agg5,agg6,agg7] [sum,count,sum,count,sum,count,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,ca_country,ca_state,ca_county,cs_quantity,cs_list_price,cs_coupon_amt,cs_sales_price,cs_net_profit,c_birth_year,cd_dep_count]
                          ShuffledHashJoinExecTransformer [cs_bill_customer_sk,c_customer_sk]
                            InputIteratorTransformer
                              InputAdapter
                                ColumnarExchange [cs_bill_customer_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cd_dep_count,i_item_id] #2
                                  VeloxResizeBatches
                                    WholeStageCodegenTransformer (5)
                                      ProjectExecTransformer [cs_bill_customer_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cd_dep_count,i_item_id]
                                        BroadcastHashJoinExecTransformer [cs_item_sk,i_item_sk]
                                          ProjectExecTransformer [cs_bill_customer_sk,cs_item_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cd_dep_count]
                                            BroadcastHashJoinExecTransformer [cs_sold_date_sk,d_date_sk]
                                              ProjectExecTransformer [cs_bill_customer_sk,cs_item_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cs_sold_date_sk,cd_dep_count]
                                                BroadcastHashJoinExecTransformer [cs_bill_cdemo_sk,cd_demo_sk]
                                                  FilterExecTransformer [cs_bill_cdemo_sk,cs_bill_customer_sk,cs_item_sk]
                                                    FileSourceScanExecTransformer parquet spark_catalog.default.catalog_sales [cs_bill_customer_sk,cs_bill_cdemo_sk,cs_item_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cs_sold_date_sk]
                                                      ColumnarSubqueryBroadcast [d_date_sk] #1
                                                        ColumnarBroadcastExchange #3
                                                          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 #4
                                                        WholeStageCodegenTransformer (2)
                                                          ProjectExecTransformer [cd_demo_sk,cd_dep_count]
                                                            FilterExecTransformer [cd_gender,cd_education_status,cd_demo_sk]
                                                              FileSourceScanExecTransformer parquet spark_catalog.default.customer_demographics [cd_demo_sk,cd_gender,cd_education_status,cd_dep_count]
                                              InputIteratorTransformer
                                                InputAdapter
                                                  ReusedExchange [d_date_sk] #3
                                          InputIteratorTransformer
                                            InputAdapter
                                              ColumnarBroadcastExchange #5
                                                WholeStageCodegenTransformer (4)
                                                  FilterExecTransformer [i_item_sk]
                                                    FileSourceScanExecTransformer parquet spark_catalog.default.item [i_item_sk,i_item_id]
                            InputIteratorTransformer
                              InputAdapter
                                ColumnarExchange [c_customer_sk,c_birth_year,ca_county,ca_state,ca_country] #6
                                  VeloxResizeBatches
                                    WholeStageCodegenTransformer (9)
                                      ProjectExecTransformer [c_customer_sk,c_birth_year,ca_county,ca_state,ca_country]
                                        ShuffledHashJoinExecTransformer [c_current_cdemo_sk,cd_demo_sk]
                                          InputIteratorTransformer
                                            InputAdapter
                                              ColumnarExchange [c_current_cdemo_sk,c_customer_sk,c_birth_year,ca_county,ca_state,ca_country] #7
                                                VeloxResizeBatches
                                                  WholeStageCodegenTransformer (7)
                                                    ProjectExecTransformer [c_current_cdemo_sk,c_customer_sk,c_birth_year,ca_county,ca_state,ca_country]
                                                      BroadcastHashJoinExecTransformer [c_current_addr_sk,ca_address_sk]
                                                        ProjectExecTransformer [c_customer_sk,c_current_cdemo_sk,c_current_addr_sk,c_birth_year]
                                                          FilterExecTransformer [c_birth_month,c_customer_sk,c_current_cdemo_sk,c_current_addr_sk]
                                                            FileSourceScanExecTransformer parquet spark_catalog.default.customer [c_customer_sk,c_current_cdemo_sk,c_current_addr_sk,c_birth_month,c_birth_year]
                                                        InputIteratorTransformer
                                                          InputAdapter
                                                            ColumnarBroadcastExchange #8
                                                              WholeStageCodegenTransformer (6)
                                                                FilterExecTransformer [ca_state,ca_address_sk]
                                                                  FileSourceScanExecTransformer parquet spark_catalog.default.customer_address [ca_address_sk,ca_county,ca_state,ca_country]
                                          InputIteratorTransformer
                                            InputAdapter
                                              ColumnarExchange [cd_demo_sk] #9
                                                VeloxResizeBatches
                                                  WholeStageCodegenTransformer (8)
                                                    ProjectExecTransformer [cd_demo_sk]
                                                      FilterExecTransformer [cd_demo_sk]
                                                        FileSourceScanExecTransformer parquet spark_catalog.default.customer_demographics [cd_demo_sk]
      WholeStageCodegenTransformer (22)
        ProjectExecTransformer [i_item_id,ca_country,ca_state,avg(agg1),avg(agg2),avg(agg3),avg(agg4),avg(agg5),avg(agg6),avg(agg7)]
          RegularHashAggregateExecTransformer [i_item_id,ca_country,ca_state,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count] [avg(agg1),avg(agg2),avg(agg3),avg(agg4),avg(agg5),avg(agg6),avg(agg7),sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
            InputIteratorTransformer
              InputAdapter
                ColumnarExchange [i_item_id,ca_country,ca_state,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count] #10
                  VeloxResizeBatches
                    WholeStageCodegenTransformer (21)
                      ProjectExecTransformer [i_item_id,ca_country,ca_state,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
                        FlushableHashAggregateExecTransformer [i_item_id,ca_country,ca_state,agg1,agg2,agg3,agg4,agg5,agg6,agg7] [sum,count,sum,count,sum,count,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,ca_country,ca_state,cs_quantity,cs_list_price,cs_coupon_amt,cs_sales_price,cs_net_profit,c_birth_year,cd_dep_count]
                            ShuffledHashJoinExecTransformer [cs_bill_customer_sk,c_customer_sk]
                              InputIteratorTransformer
                                InputAdapter
                                  ReusedExchange [cs_bill_customer_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cd_dep_count,i_item_id] #2
                              InputIteratorTransformer
                                InputAdapter
                                  ColumnarExchange [c_customer_sk,c_birth_year,ca_state,ca_country] #11
                                    VeloxResizeBatches
                                      WholeStageCodegenTransformer (20)
                                        ProjectExecTransformer [c_customer_sk,c_birth_year,ca_state,ca_country]
                                          ShuffledHashJoinExecTransformer [c_current_cdemo_sk,cd_demo_sk]
                                            InputIteratorTransformer
                                              InputAdapter
                                                ColumnarExchange [c_current_cdemo_sk,c_customer_sk,c_birth_year,ca_state,ca_country] #12
                                                  VeloxResizeBatches
                                                    WholeStageCodegenTransformer (18)
                                                      ProjectExecTransformer [c_current_cdemo_sk,c_customer_sk,c_birth_year,ca_state,ca_country]
                                                        BroadcastHashJoinExecTransformer [c_current_addr_sk,ca_address_sk]
                                                          ProjectExecTransformer [c_customer_sk,c_current_cdemo_sk,c_current_addr_sk,c_birth_year]
                                                            FilterExecTransformer [c_birth_month,c_customer_sk,c_current_cdemo_sk,c_current_addr_sk]
                                                              FileSourceScanExecTransformer parquet spark_catalog.default.customer [c_customer_sk,c_current_cdemo_sk,c_current_addr_sk,c_birth_month,c_birth_year]
                                                          InputIteratorTransformer
                                                            InputAdapter
                                                              ColumnarBroadcastExchange #13
                                                                WholeStageCodegenTransformer (17)
                                                                  FilterExecTransformer [ca_state,ca_address_sk]
                                                                    FileSourceScanExecTransformer parquet spark_catalog.default.customer_address [ca_address_sk,ca_state,ca_country]
                                            InputIteratorTransformer
                                              InputAdapter
                                                ReusedExchange [cd_demo_sk] #9
      WholeStageCodegenTransformer (33)
        ProjectExecTransformer [i_item_id,ca_country,avg(agg1),avg(agg2),avg(agg3),avg(agg4),avg(agg5),avg(agg6),avg(agg7)]
          RegularHashAggregateExecTransformer [i_item_id,ca_country,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count] [avg(agg1),avg(agg2),avg(agg3),avg(agg4),avg(agg5),avg(agg6),avg(agg7),sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
            InputIteratorTransformer
              InputAdapter
                ColumnarExchange [i_item_id,ca_country,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count] #14
                  VeloxResizeBatches
                    WholeStageCodegenTransformer (32)
                      ProjectExecTransformer [i_item_id,ca_country,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
                        FlushableHashAggregateExecTransformer [i_item_id,ca_country,agg1,agg2,agg3,agg4,agg5,agg6,agg7] [sum,count,sum,count,sum,count,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,ca_country,cs_quantity,cs_list_price,cs_coupon_amt,cs_sales_price,cs_net_profit,c_birth_year,cd_dep_count]
                            ShuffledHashJoinExecTransformer [cs_bill_customer_sk,c_customer_sk]
                              InputIteratorTransformer
                                InputAdapter
                                  ReusedExchange [cs_bill_customer_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cd_dep_count,i_item_id] #2
                              InputIteratorTransformer
                                InputAdapter
                                  ColumnarExchange [c_customer_sk,c_birth_year,ca_country] #15
                                    VeloxResizeBatches
                                      WholeStageCodegenTransformer (31)
                                        ProjectExecTransformer [c_customer_sk,c_birth_year,ca_country]
                                          ShuffledHashJoinExecTransformer [c_current_cdemo_sk,cd_demo_sk]
                                            InputIteratorTransformer
                                              InputAdapter
                                                ColumnarExchange [c_current_cdemo_sk,c_customer_sk,c_birth_year,ca_country] #16
                                                  VeloxResizeBatches
                                                    WholeStageCodegenTransformer (29)
                                                      ProjectExecTransformer [c_current_cdemo_sk,c_customer_sk,c_birth_year,ca_country]
                                                        BroadcastHashJoinExecTransformer [c_current_addr_sk,ca_address_sk]
                                                          ProjectExecTransformer [c_customer_sk,c_current_cdemo_sk,c_current_addr_sk,c_birth_year]
                                                            FilterExecTransformer [c_birth_month,c_customer_sk,c_current_cdemo_sk,c_current_addr_sk]
                                                              FileSourceScanExecTransformer parquet spark_catalog.default.customer [c_customer_sk,c_current_cdemo_sk,c_current_addr_sk,c_birth_month,c_birth_year]
                                                          InputIteratorTransformer
                                                            InputAdapter
                                                              ColumnarBroadcastExchange #17
                                                                WholeStageCodegenTransformer (28)
                                                                  ProjectExecTransformer [ca_address_sk,ca_country]
                                                                    FilterExecTransformer [ca_state,ca_address_sk]
                                                                      FileSourceScanExecTransformer parquet spark_catalog.default.customer_address [ca_address_sk,ca_state,ca_country]
                                            InputIteratorTransformer
                                              InputAdapter
                                                ReusedExchange [cd_demo_sk] #9
      WholeStageCodegenTransformer (42)
        ProjectExecTransformer [i_item_id,avg(agg1),avg(agg2),avg(agg3),avg(agg4),avg(agg5),avg(agg6),avg(agg7)]
          RegularHashAggregateExecTransformer [i_item_id,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count] [avg(agg1),avg(agg2),avg(agg3),avg(agg4),avg(agg5),avg(agg6),avg(agg7),sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
            InputIteratorTransformer
              InputAdapter
                ColumnarExchange [i_item_id,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count] #18
                  VeloxResizeBatches
                    WholeStageCodegenTransformer (41)
                      ProjectExecTransformer [i_item_id,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
                        FlushableHashAggregateExecTransformer [i_item_id,agg1,agg2,agg3,agg4,agg5,agg6,agg7] [sum,count,sum,count,sum,count,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,cs_quantity,cs_list_price,cs_coupon_amt,cs_sales_price,cs_net_profit,c_birth_year,cd_dep_count]
                            BroadcastHashJoinExecTransformer [cs_item_sk,i_item_sk]
                              ProjectExecTransformer [cs_item_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cd_dep_count,c_birth_year]
                                BroadcastHashJoinExecTransformer [cs_bill_customer_sk,c_customer_sk]
                                  ProjectExecTransformer [cs_bill_customer_sk,cs_item_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cd_dep_count]
                                    BroadcastHashJoinExecTransformer [cs_sold_date_sk,d_date_sk]
                                      ProjectExecTransformer [cs_bill_customer_sk,cs_item_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cs_sold_date_sk,cd_dep_count]
                                        BroadcastHashJoinExecTransformer [cs_bill_cdemo_sk,cd_demo_sk]
                                          FilterExecTransformer [cs_bill_cdemo_sk,cs_bill_customer_sk,cs_item_sk]
                                            FileSourceScanExecTransformer parquet spark_catalog.default.catalog_sales [cs_bill_customer_sk,cs_bill_cdemo_sk,cs_item_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cs_sold_date_sk]
                                              ReusedSubquery [d_date_sk] #1
                                          InputIteratorTransformer
                                            InputAdapter
                                              ReusedExchange [cd_demo_sk,cd_dep_count] #4
                                      InputIteratorTransformer
                                        InputAdapter
                                          ReusedExchange [d_date_sk] #3
                                  InputIteratorTransformer
                                    InputAdapter
                                      ColumnarBroadcastExchange #19
                                        WholeStageCodegenTransformer (39)
                                          ProjectExecTransformer [c_customer_sk,c_birth_year]
                                            BroadcastHashJoinExecTransformer [c_current_cdemo_sk,cd_demo_sk]
                                              InputIteratorTransformer
                                                InputAdapter
                                                  ColumnarBroadcastExchange #20
                                                    WholeStageCodegenTransformer (38)
                                                      ProjectExecTransformer [c_customer_sk,c_current_cdemo_sk,c_birth_year]
                                                        BroadcastHashJoinExecTransformer [c_current_addr_sk,ca_address_sk]
                                                          ProjectExecTransformer [c_customer_sk,c_current_cdemo_sk,c_current_addr_sk,c_birth_year]
                                                            FilterExecTransformer [c_birth_month,c_customer_sk,c_current_cdemo_sk,c_current_addr_sk]
                                                              FileSourceScanExecTransformer parquet spark_catalog.default.customer [c_customer_sk,c_current_cdemo_sk,c_current_addr_sk,c_birth_month,c_birth_year]
                                                          InputIteratorTransformer
                                                            InputAdapter
                                                              ColumnarBroadcastExchange #21
                                                                WholeStageCodegenTransformer (37)
                                                                  ProjectExecTransformer [ca_address_sk]
                                                                    FilterExecTransformer [ca_state,ca_address_sk]
                                                                      FileSourceScanExecTransformer parquet spark_catalog.default.customer_address [ca_address_sk,ca_state]
                                              FilterExecTransformer [cd_demo_sk]
                                                FileSourceScanExecTransformer parquet spark_catalog.default.customer_demographics [cd_demo_sk]
                              InputIteratorTransformer
                                InputAdapter
                                  ReusedExchange [i_item_sk,i_item_id] #5
      WholeStageCodegenTransformer (51)
        ProjectExecTransformer [avg(agg1),avg(agg2),avg(agg3),avg(agg4),avg(agg5),avg(agg6),avg(agg7)]
          RegularHashAggregateExecTransformer [sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count] [avg(agg1),avg(agg2),avg(agg3),avg(agg4),avg(agg5),avg(agg6),avg(agg7),sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
            InputIteratorTransformer
              InputAdapter
                ColumnarExchange #22
                  VeloxResizeBatches
                    WholeStageCodegenTransformer (50)
                      FlushableHashAggregateExecTransformer [agg1,agg2,agg3,agg4,agg5,agg6,agg7] [sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count,sum,count]
                        ProjectExecTransformer [cs_quantity,cs_list_price,cs_coupon_amt,cs_sales_price,cs_net_profit,c_birth_year,cd_dep_count]
                          BroadcastHashJoinExecTransformer [cs_bill_customer_sk,c_customer_sk]
                            ProjectExecTransformer [cs_bill_customer_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cd_dep_count]
                              BroadcastHashJoinExecTransformer [cs_item_sk,i_item_sk]
                                ProjectExecTransformer [cs_bill_customer_sk,cs_item_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cd_dep_count]
                                  BroadcastHashJoinExecTransformer [cs_sold_date_sk,d_date_sk]
                                    ProjectExecTransformer [cs_bill_customer_sk,cs_item_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cs_sold_date_sk,cd_dep_count]
                                      BroadcastHashJoinExecTransformer [cs_bill_cdemo_sk,cd_demo_sk]
                                        FilterExecTransformer [cs_bill_cdemo_sk,cs_bill_customer_sk,cs_item_sk]
                                          FileSourceScanExecTransformer parquet spark_catalog.default.catalog_sales [cs_bill_customer_sk,cs_bill_cdemo_sk,cs_item_sk,cs_quantity,cs_list_price,cs_sales_price,cs_coupon_amt,cs_net_profit,cs_sold_date_sk]
                                            ReusedSubquery [d_date_sk] #1
                                        InputIteratorTransformer
                                          InputAdapter
                                            ReusedExchange [cd_demo_sk,cd_dep_count] #4
                                    InputIteratorTransformer
                                      InputAdapter
                                        ReusedExchange [d_date_sk] #3
                                InputIteratorTransformer
                                  InputAdapter
                                    ColumnarBroadcastExchange #23
                                      WholeStageCodegenTransformer (46)
                                        FilterExecTransformer [i_item_sk]
                                          FileSourceScanExecTransformer parquet spark_catalog.default.item [i_item_sk]
                            InputIteratorTransformer
                              InputAdapter
                                ReusedExchange [c_customer_sk,c_birth_year] #19
