VeloxColumnarToRow
  TakeOrderedAndProjectExecTransformer [channel,id,sales,returns,profit]
    WholeStageCodegenTransformer (90)
      RegularHashAggregateExecTransformer [channel,id,sales,returns,profit]
        InputIteratorTransformer
          InputAdapter
            ColumnarExchange [channel,id,sales,returns,profit] #1
              VeloxResizeBatches
                WholeStageCodegenTransformer (89)
                  ProjectExecTransformer [channel,id,sales,returns,profit]
                    FlushableHashAggregateExecTransformer [channel,id,sales,returns,profit]
                      InputIteratorTransformer
                        InputAdapter
                          ColumnarUnion
                            WholeStageCodegenTransformer (29)
                              ProjectExecTransformer [channel,id,sum(sales),sum(returns),sum(profit)]
                                RegularHashAggregateExecTransformer [channel,id,sales,returns,profit] [sum(sales),sum(returns),sum(profit),sum,isEmpty,sum,isEmpty,sum,isEmpty]
                                  InputIteratorTransformer
                                    InputAdapter
                                      ColumnarUnion [id]
                                        WholeStageCodegenTransformer (10)
                                          ProjectExecTransformer [s_store_sk,sales,returns,profit,profit_loss]
                                            BroadcastHashJoinExecTransformer [s_store_sk,s_store_sk]
                                              ProjectExecTransformer [s_store_sk,sum(UnscaledValue(ss_ext_sales_price)),sum(UnscaledValue(ss_net_profit))]
                                                RegularHashAggregateExecTransformer [s_store_sk,sum,sum] [sum(UnscaledValue(ss_ext_sales_price)),sum(UnscaledValue(ss_net_profit)),sum,sum]
                                                  InputIteratorTransformer
                                                    InputAdapter
                                                      ColumnarExchange [s_store_sk,sum,sum] #2
                                                        VeloxResizeBatches
                                                          WholeStageCodegenTransformer (4)
                                                            ProjectExecTransformer [s_store_sk,sum,sum]
                                                              FlushableHashAggregateExecTransformer [s_store_sk,_pre_x,_pre_x] [sum,sum,sum,sum,sum,sum]
                                                                ProjectExecTransformer [s_store_sk,ss_ext_sales_price,ss_net_profit]
                                                                  BroadcastHashJoinExecTransformer [ss_store_sk,s_store_sk]
                                                                    ProjectExecTransformer [ss_store_sk,ss_ext_sales_price,ss_net_profit]
                                                                      BroadcastHashJoinExecTransformer [ss_sold_date_sk,d_date_sk]
                                                                        FilterExecTransformer [ss_store_sk]
                                                                          FileSourceScanExecTransformer parquet spark_catalog.default.store_sales [ss_store_sk,ss_ext_sales_price,ss_net_profit,ss_sold_date_sk]
                                                                            ColumnarSubqueryBroadcast [d_date_sk] #1
                                                                              ColumnarBroadcastExchange #3
                                                                                WholeStageCodegenTransformer (1)
                                                                                  ProjectExecTransformer [d_date_sk]
                                                                                    FilterExecTransformer [d_date,d_date_sk]
                                                                                      FileSourceScanExecTransformer parquet spark_catalog.default.date_dim [d_date_sk,d_date]
                                                                        InputIteratorTransformer
                                                                          InputAdapter
                                                                            ReusedExchange [d_date_sk] #3
                                                                    InputIteratorTransformer
                                                                      InputAdapter
                                                                        ColumnarBroadcastExchange #4
                                                                          WholeStageCodegenTransformer (3)
                                                                            FilterExecTransformer [s_store_sk]
                                                                              FileSourceScanExecTransformer parquet spark_catalog.default.store [s_store_sk]
                                              InputIteratorTransformer
                                                InputAdapter
                                                  ColumnarBroadcastExchange #5
                                                    WholeStageCodegenTransformer (9)
                                                      ProjectExecTransformer [s_store_sk,sum(UnscaledValue(sr_return_amt)),sum(UnscaledValue(sr_net_loss))]
                                                        RegularHashAggregateExecTransformer [s_store_sk,sum,sum] [sum(UnscaledValue(sr_return_amt)),sum(UnscaledValue(sr_net_loss)),sum,sum]
                                                          InputIteratorTransformer
                                                            InputAdapter
                                                              ColumnarExchange [s_store_sk,sum,sum] #6
                                                                VeloxResizeBatches
                                                                  WholeStageCodegenTransformer (8)
                                                                    ProjectExecTransformer [s_store_sk,sum,sum]
                                                                      FlushableHashAggregateExecTransformer [s_store_sk,_pre_x,_pre_x] [sum,sum,sum,sum,sum,sum]
                                                                        ProjectExecTransformer [s_store_sk,sr_return_amt,sr_net_loss]
                                                                          BroadcastHashJoinExecTransformer [sr_store_sk,s_store_sk]
                                                                            ProjectExecTransformer [sr_store_sk,sr_return_amt,sr_net_loss]
                                                                              BroadcastHashJoinExecTransformer [sr_returned_date_sk,d_date_sk]
                                                                                FilterExecTransformer [sr_store_sk]
                                                                                  FileSourceScanExecTransformer parquet spark_catalog.default.store_returns [sr_store_sk,sr_return_amt,sr_net_loss,sr_returned_date_sk]
                                                                                    ReusedSubquery [d_date_sk] #1
                                                                                InputIteratorTransformer
                                                                                  InputAdapter
                                                                                    ReusedExchange [d_date_sk] #3
                                                                            InputIteratorTransformer
                                                                              InputAdapter
                                                                                ReusedExchange [s_store_sk] #4
                                        WholeStageCodegenTransformer (18)
                                          ProjectExecTransformer [cs_call_center_sk,sales,returns,profit,profit_loss]
                                            VeloxBroadcastNestedLoopJoinExecTransformer
                                              ProjectExecTransformer [cs_call_center_sk,sum(UnscaledValue(cs_ext_sales_price)),sum(UnscaledValue(cs_net_profit))]
                                                RegularHashAggregateExecTransformer [cs_call_center_sk,sum,sum] [sum(UnscaledValue(cs_ext_sales_price)),sum(UnscaledValue(cs_net_profit)),sum,sum]
                                                  InputIteratorTransformer
                                                    InputAdapter
                                                      ColumnarExchange [cs_call_center_sk,sum,sum] #7
                                                        VeloxResizeBatches
                                                          WholeStageCodegenTransformer (13)
                                                            ProjectExecTransformer [cs_call_center_sk,sum,sum]
                                                              FlushableHashAggregateExecTransformer [cs_call_center_sk,_pre_x,_pre_x] [sum,sum,sum,sum,sum,sum]
                                                                ProjectExecTransformer [cs_call_center_sk,cs_ext_sales_price,cs_net_profit]
                                                                  BroadcastHashJoinExecTransformer [cs_sold_date_sk,d_date_sk]
                                                                    FileSourceScanExecTransformer parquet spark_catalog.default.catalog_sales [cs_call_center_sk,cs_ext_sales_price,cs_net_profit,cs_sold_date_sk]
                                                                      ReusedSubquery [d_date_sk] #1
                                                                    InputIteratorTransformer
                                                                      InputAdapter
                                                                        ReusedExchange [d_date_sk] #3
                                              InputIteratorTransformer
                                                InputAdapter
                                                  ColumnarBroadcastExchange #8
                                                    WholeStageCodegenTransformer (17)
                                                      ProjectExecTransformer [sum(UnscaledValue(cr_return_amount)),sum(UnscaledValue(cr_net_loss))]
                                                        RegularHashAggregateExecTransformer [sum,sum] [sum(UnscaledValue(cr_return_amount)),sum(UnscaledValue(cr_net_loss)),sum,sum]
                                                          InputIteratorTransformer
                                                            InputAdapter
                                                              ColumnarExchange #9
                                                                VeloxResizeBatches
                                                                  WholeStageCodegenTransformer (16)
                                                                    FlushableHashAggregateExecTransformer [_pre_x,_pre_x] [sum,sum,sum,sum,sum,sum]
                                                                      ProjectExecTransformer [cr_return_amount,cr_net_loss]
                                                                        BroadcastHashJoinExecTransformer [cr_returned_date_sk,d_date_sk]
                                                                          FileSourceScanExecTransformer parquet spark_catalog.default.catalog_returns [cr_return_amount,cr_net_loss,cr_returned_date_sk]
                                                                            ReusedSubquery [d_date_sk] #1
                                                                          InputIteratorTransformer
                                                                            InputAdapter
                                                                              ReusedExchange [d_date_sk] #3
                                        WholeStageCodegenTransformer (28)
                                          ProjectExecTransformer [wp_web_page_sk,sales,returns,profit,profit_loss]
                                            BroadcastHashJoinExecTransformer [wp_web_page_sk,wp_web_page_sk]
                                              ProjectExecTransformer [wp_web_page_sk,sum(UnscaledValue(ws_ext_sales_price)),sum(UnscaledValue(ws_net_profit))]
                                                RegularHashAggregateExecTransformer [wp_web_page_sk,sum,sum] [sum(UnscaledValue(ws_ext_sales_price)),sum(UnscaledValue(ws_net_profit)),sum,sum]
                                                  InputIteratorTransformer
                                                    InputAdapter
                                                      ColumnarExchange [wp_web_page_sk,sum,sum] #10
                                                        VeloxResizeBatches
                                                          WholeStageCodegenTransformer (22)
                                                            ProjectExecTransformer [wp_web_page_sk,sum,sum]
                                                              FlushableHashAggregateExecTransformer [wp_web_page_sk,_pre_x,_pre_x] [sum,sum,sum,sum,sum,sum]
                                                                ProjectExecTransformer [wp_web_page_sk,ws_ext_sales_price,ws_net_profit]
                                                                  BroadcastHashJoinExecTransformer [ws_web_page_sk,wp_web_page_sk]
                                                                    ProjectExecTransformer [ws_web_page_sk,ws_ext_sales_price,ws_net_profit]
                                                                      BroadcastHashJoinExecTransformer [ws_sold_date_sk,d_date_sk]
                                                                        FilterExecTransformer [ws_web_page_sk]
                                                                          FileSourceScanExecTransformer parquet spark_catalog.default.web_sales [ws_web_page_sk,ws_ext_sales_price,ws_net_profit,ws_sold_date_sk]
                                                                            ReusedSubquery [d_date_sk] #1
                                                                        InputIteratorTransformer
                                                                          InputAdapter
                                                                            ReusedExchange [d_date_sk] #3
                                                                    InputIteratorTransformer
                                                                      InputAdapter
                                                                        ColumnarBroadcastExchange #11
                                                                          WholeStageCodegenTransformer (21)
                                                                            FilterExecTransformer [wp_web_page_sk]
                                                                              FileSourceScanExecTransformer parquet spark_catalog.default.web_page [wp_web_page_sk]
                                              InputIteratorTransformer
                                                InputAdapter
                                                  ColumnarBroadcastExchange #12
                                                    WholeStageCodegenTransformer (27)
                                                      ProjectExecTransformer [wp_web_page_sk,sum(UnscaledValue(wr_return_amt)),sum(UnscaledValue(wr_net_loss))]
                                                        RegularHashAggregateExecTransformer [wp_web_page_sk,sum,sum] [sum(UnscaledValue(wr_return_amt)),sum(UnscaledValue(wr_net_loss)),sum,sum]
                                                          InputIteratorTransformer
                                                            InputAdapter
                                                              ColumnarExchange [wp_web_page_sk,sum,sum] #13
                                                                VeloxResizeBatches
                                                                  WholeStageCodegenTransformer (26)
                                                                    ProjectExecTransformer [wp_web_page_sk,sum,sum]
                                                                      FlushableHashAggregateExecTransformer [wp_web_page_sk,_pre_x,_pre_x] [sum,sum,sum,sum,sum,sum]
                                                                        ProjectExecTransformer [wp_web_page_sk,wr_return_amt,wr_net_loss]
                                                                          BroadcastHashJoinExecTransformer [wr_web_page_sk,wp_web_page_sk]
                                                                            ProjectExecTransformer [wr_web_page_sk,wr_return_amt,wr_net_loss]
                                                                              BroadcastHashJoinExecTransformer [wr_returned_date_sk,d_date_sk]
                                                                                FilterExecTransformer [wr_web_page_sk]
                                                                                  FileSourceScanExecTransformer parquet spark_catalog.default.web_returns [wr_web_page_sk,wr_return_amt,wr_net_loss,wr_returned_date_sk]
                                                                                    ReusedSubquery [d_date_sk] #1
                                                                                InputIteratorTransformer
                                                                                  InputAdapter
                                                                                    ReusedExchange [d_date_sk] #3
                                                                            InputIteratorTransformer
                                                                              InputAdapter
                                                                                ReusedExchange [wp_web_page_sk] #11
                            WholeStageCodegenTransformer (59)
                              ProjectExecTransformer [channel,sum(sales),sum(returns),sum(profit)]
                                RegularHashAggregateExecTransformer [channel,sum,isEmpty,sum,isEmpty,sum,isEmpty] [sum(sales),sum(returns),sum(profit),sum,isEmpty,sum,isEmpty,sum,isEmpty]
                                  InputIteratorTransformer
                                    InputAdapter
                                      ColumnarExchange [channel,sum,isEmpty,sum,isEmpty,sum,isEmpty] #14
                                        VeloxResizeBatches
                                          WholeStageCodegenTransformer (58)
                                            ProjectExecTransformer [channel,sum,isEmpty,sum,isEmpty,sum,isEmpty]
                                              FlushableHashAggregateExecTransformer [channel,sales,returns,profit] [sum,isEmpty,sum,isEmpty,sum,isEmpty,sum,isEmpty,sum,isEmpty,sum,isEmpty]
                                                ProjectExecTransformer [channel,sum(sales),sum(returns),sum(profit)]
                                                  RegularHashAggregateExecTransformer [channel,id,sales,returns,profit] [sum(sales),sum(returns),sum(profit),sum,isEmpty,sum,isEmpty,sum,isEmpty]
                                                    InputIteratorTransformer
                                                      InputAdapter
                                                        ColumnarUnion [id]
                                                          WholeStageCodegenTransformer (39)
                                                            ProjectExecTransformer [s_store_sk,sales,returns,profit,profit_loss]
                                                              BroadcastHashJoinExecTransformer [s_store_sk,s_store_sk]
                                                                ProjectExecTransformer [s_store_sk,sum(UnscaledValue(ss_ext_sales_price)),sum(UnscaledValue(ss_net_profit))]
                                                                  RegularHashAggregateExecTransformer [s_store_sk,sum,sum] [sum(UnscaledValue(ss_ext_sales_price)),sum(UnscaledValue(ss_net_profit)),sum,sum]
                                                                    InputIteratorTransformer
                                                                      InputAdapter
                                                                        ReusedExchange [s_store_sk,sum,sum] #2
                                                                InputIteratorTransformer
                                                                  InputAdapter
                                                                    ReusedExchange [s_store_sk,returns,profit_loss] #5
                                                          WholeStageCodegenTransformer (47)
                                                            ProjectExecTransformer [cs_call_center_sk,sales,returns,profit,profit_loss]
                                                              VeloxBroadcastNestedLoopJoinExecTransformer
                                                                ProjectExecTransformer [cs_call_center_sk,sum(UnscaledValue(cs_ext_sales_price)),sum(UnscaledValue(cs_net_profit))]
                                                                  RegularHashAggregateExecTransformer [cs_call_center_sk,sum,sum] [sum(UnscaledValue(cs_ext_sales_price)),sum(UnscaledValue(cs_net_profit)),sum,sum]
                                                                    InputIteratorTransformer
                                                                      InputAdapter
                                                                        ReusedExchange [cs_call_center_sk,sum,sum] #7
                                                                InputIteratorTransformer
                                                                  InputAdapter
                                                                    ReusedExchange [returns,profit_loss] #8
                                                          WholeStageCodegenTransformer (57)
                                                            ProjectExecTransformer [wp_web_page_sk,sales,returns,profit,profit_loss]
                                                              BroadcastHashJoinExecTransformer [wp_web_page_sk,wp_web_page_sk]
                                                                ProjectExecTransformer [wp_web_page_sk,sum(UnscaledValue(ws_ext_sales_price)),sum(UnscaledValue(ws_net_profit))]
                                                                  RegularHashAggregateExecTransformer [wp_web_page_sk,sum,sum] [sum(UnscaledValue(ws_ext_sales_price)),sum(UnscaledValue(ws_net_profit)),sum,sum]
                                                                    InputIteratorTransformer
                                                                      InputAdapter
                                                                        ReusedExchange [wp_web_page_sk,sum,sum] #10
                                                                InputIteratorTransformer
                                                                  InputAdapter
                                                                    ReusedExchange [wp_web_page_sk,returns,profit_loss] #12
                            WholeStageCodegenTransformer (88)
                              ProjectExecTransformer [sum(sales),sum(returns),sum(profit)]
                                RegularHashAggregateExecTransformer [sales,returns,profit] [sum(sales),sum(returns),sum(profit),sum,isEmpty,sum,isEmpty,sum,isEmpty]
                                  ProjectExecTransformer [sum(sales),sum(returns),sum(profit)]
                                    RegularHashAggregateExecTransformer [channel,id,sales,returns,profit] [sum(sales),sum(returns),sum(profit),sum,isEmpty,sum,isEmpty,sum,isEmpty]
                                      InputIteratorTransformer
                                        InputAdapter
                                          ColumnarUnion [id]
                                            WholeStageCodegenTransformer (69)
                                              ProjectExecTransformer [s_store_sk,sales,returns,profit,profit_loss]
                                                BroadcastHashJoinExecTransformer [s_store_sk,s_store_sk]
                                                  ProjectExecTransformer [s_store_sk,sum(UnscaledValue(ss_ext_sales_price)),sum(UnscaledValue(ss_net_profit))]
                                                    RegularHashAggregateExecTransformer [s_store_sk,sum,sum] [sum(UnscaledValue(ss_ext_sales_price)),sum(UnscaledValue(ss_net_profit)),sum,sum]
                                                      InputIteratorTransformer
                                                        InputAdapter
                                                          ReusedExchange [s_store_sk,sum,sum] #2
                                                  InputIteratorTransformer
                                                    InputAdapter
                                                      ReusedExchange [s_store_sk,returns,profit_loss] #5
                                            WholeStageCodegenTransformer (77)
                                              ProjectExecTransformer [cs_call_center_sk,sales,returns,profit,profit_loss]
                                                VeloxBroadcastNestedLoopJoinExecTransformer
                                                  ProjectExecTransformer [cs_call_center_sk,sum(UnscaledValue(cs_ext_sales_price)),sum(UnscaledValue(cs_net_profit))]
                                                    RegularHashAggregateExecTransformer [cs_call_center_sk,sum,sum] [sum(UnscaledValue(cs_ext_sales_price)),sum(UnscaledValue(cs_net_profit)),sum,sum]
                                                      InputIteratorTransformer
                                                        InputAdapter
                                                          ReusedExchange [cs_call_center_sk,sum,sum] #7
                                                  InputIteratorTransformer
                                                    InputAdapter
                                                      ReusedExchange [returns,profit_loss] #8
                                            WholeStageCodegenTransformer (87)
                                              ProjectExecTransformer [wp_web_page_sk,sales,returns,profit,profit_loss]
                                                BroadcastHashJoinExecTransformer [wp_web_page_sk,wp_web_page_sk]
                                                  ProjectExecTransformer [wp_web_page_sk,sum(UnscaledValue(ws_ext_sales_price)),sum(UnscaledValue(ws_net_profit))]
                                                    RegularHashAggregateExecTransformer [wp_web_page_sk,sum,sum] [sum(UnscaledValue(ws_ext_sales_price)),sum(UnscaledValue(ws_net_profit)),sum,sum]
                                                      InputIteratorTransformer
                                                        InputAdapter
                                                          ReusedExchange [wp_web_page_sk,sum,sum] #10
                                                  InputIteratorTransformer
                                                    InputAdapter
                                                      ReusedExchange [wp_web_page_sk,returns,profit_loss] #12
