WholeStageCodegen (15)
  Sort [d_week_seq1]
    InputAdapter
      Exchange [d_week_seq1] #1
        WholeStageCodegen (14)
          Project [d_week_seq1,sun_sales1,sun_sales2,mon_sales1,mon_sales2,tue_sales1,tue_sales2,wed_sales1,wed_sales2,thu_sales1,thu_sales2,fri_sales1,fri_sales2,sat_sales1,sat_sales2]
            SortMergeJoin [d_week_seq1,d_week_seq2]
              InputAdapter
                WholeStageCodegen (6)
                  Sort [d_week_seq1]
                    Project [d_week_seq,sun_sales,mon_sales,tue_sales,wed_sales,thu_sales,fri_sales,sat_sales]
                      BroadcastHashJoin [d_week_seq,d_week_seq]
                        HashAggregate [d_week_seq,sum,sum,sum,sum,sum,sum,sum] [sum(UnscaledValue(CASE WHEN (d_day_name = Sunday   ) THEN sales_price ELSE null END)),sum(UnscaledValue(CASE WHEN (d_day_name = Monday   ) THEN sales_price ELSE null END)),sum(UnscaledValue(CASE WHEN (d_day_name = Tuesday  ) THEN sales_price ELSE null END)),sum(UnscaledValue(CASE WHEN (d_day_name = Wednesday) THEN sales_price ELSE null END)),sum(UnscaledValue(CASE WHEN (d_day_name = Thursday ) THEN sales_price ELSE null END)),sum(UnscaledValue(CASE WHEN (d_day_name = Friday   ) THEN sales_price ELSE null END)),sum(UnscaledValue(CASE WHEN (d_day_name = Saturday ) THEN sales_price ELSE null END)),sun_sales,mon_sales,tue_sales,wed_sales,thu_sales,fri_sales,sat_sales,sum,sum,sum,sum,sum,sum,sum]
                          InputAdapter
                            Exchange [d_week_seq] #2
                              WholeStageCodegen (4)
                                HashAggregate [d_week_seq,d_day_name,sales_price] [sum,sum,sum,sum,sum,sum,sum,sum,sum,sum,sum,sum,sum,sum]
                                  Project [sales_price,d_week_seq,d_day_name]
                                    BroadcastHashJoin [sold_date_sk,d_date_sk]
                                      InputAdapter
                                        Union
                                          WholeStageCodegen (1)
                                            Project [ws_sold_date_sk,ws_ext_sales_price]
                                              Filter [ws_sold_date_sk]
                                                ColumnarToRow
                                                  InputAdapter
                                                    Scan parquet default.web_sales [ws_sold_date_sk,ws_ext_sales_price]
                                          WholeStageCodegen (2)
                                            Project [cs_sold_date_sk,cs_ext_sales_price]
                                              Filter [cs_sold_date_sk]
                                                ColumnarToRow
                                                  InputAdapter
                                                    Scan parquet default.catalog_sales [cs_sold_date_sk,cs_ext_sales_price]
                                      InputAdapter
                                        BroadcastExchange #3
                                          WholeStageCodegen (3)
                                            Filter [d_date_sk,d_week_seq]
                                              ColumnarToRow
                                                InputAdapter
                                                  Scan parquet default.date_dim [d_date_sk,d_week_seq,d_day_name]
                        InputAdapter
                          BroadcastExchange #4
                            WholeStageCodegen (5)
                              Project [d_week_seq]
                                Filter [d_year,d_week_seq]
                                  ColumnarToRow
                                    InputAdapter
                                      Scan parquet default.date_dim [d_week_seq,d_year]
              InputAdapter
                WholeStageCodegen (13)
                  Sort [d_week_seq2]
                    InputAdapter
                      Exchange [d_week_seq2] #5
                        WholeStageCodegen (12)
                          Project [d_week_seq,sun_sales,mon_sales,tue_sales,wed_sales,thu_sales,fri_sales,sat_sales]
                            BroadcastHashJoin [d_week_seq,d_week_seq]
                              HashAggregate [d_week_seq,sum,sum,sum,sum,sum,sum,sum] [sum(UnscaledValue(CASE WHEN (d_day_name = Sunday   ) THEN sales_price ELSE null END)),sum(UnscaledValue(CASE WHEN (d_day_name = Monday   ) THEN sales_price ELSE null END)),sum(UnscaledValue(CASE WHEN (d_day_name = Tuesday  ) THEN sales_price ELSE null END)),sum(UnscaledValue(CASE WHEN (d_day_name = Wednesday) THEN sales_price ELSE null END)),sum(UnscaledValue(CASE WHEN (d_day_name = Thursday ) THEN sales_price ELSE null END)),sum(UnscaledValue(CASE WHEN (d_day_name = Friday   ) THEN sales_price ELSE null END)),sum(UnscaledValue(CASE WHEN (d_day_name = Saturday ) THEN sales_price ELSE null END)),sun_sales,mon_sales,tue_sales,wed_sales,thu_sales,fri_sales,sat_sales,sum,sum,sum,sum,sum,sum,sum]
                                InputAdapter
                                  ReusedExchange [d_week_seq,sum,sum,sum,sum,sum,sum,sum] #2
                              InputAdapter
                                BroadcastExchange #6
                                  WholeStageCodegen (11)
                                    Project [d_week_seq]
                                      Filter [d_year,d_week_seq]
                                        ColumnarToRow
                                          InputAdapter
                                            Scan parquet default.date_dim [d_week_seq,d_year]
