WholeStageCodegen (13)
  Sort [d_week_seq1]
    InputAdapter
      Exchange [d_week_seq1] #1
        WholeStageCodegen (12)
          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]
            BroadcastHashJoin [d_week_seq1,d_week_seq2]
              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 END)),sum(UnscaledValue(CASE WHEN (d_day_name = Monday   ) THEN sales_price END)),sum(UnscaledValue(CASE WHEN (d_day_name = Tuesday  ) THEN sales_price END)),sum(UnscaledValue(CASE WHEN (d_day_name = Wednesday) THEN sales_price END)),sum(UnscaledValue(CASE WHEN (d_day_name = Thursday ) THEN sales_price END)),sum(UnscaledValue(CASE WHEN (d_day_name = Friday   ) THEN sales_price END)),sum(UnscaledValue(CASE WHEN (d_day_name = Saturday ) THEN sales_price 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]
                                        ColumnarToRow
                                          InputAdapter
                                            Scan parquet spark_catalog.default.web_sales [ws_ext_sales_price,ws_sold_date_sk]
                                    WholeStageCodegen (2)
                                      Project [cs_sold_date_sk,cs_ext_sales_price]
                                        ColumnarToRow
                                          InputAdapter
                                            Scan parquet spark_catalog.default.catalog_sales [cs_ext_sales_price,cs_sold_date_sk]
                                InputAdapter
                                  BroadcastExchange #3
                                    WholeStageCodegen (3)
                                      Filter [d_date_sk,d_week_seq]
                                        Subquery #1
                                          ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 362, 9656, 0, 0),bloomFilter,buf]
                                            Exchange #4
                                              ObjectHashAggregate [d_week_seq] [buf,buf]
                                                WholeStageCodegen (1)
                                                  Project [d_week_seq]
                                                    Filter [d_year,d_week_seq]
                                                      ColumnarToRow
                                                        InputAdapter
                                                          Scan parquet spark_catalog.default.date_dim [d_week_seq,d_year]
                                        ColumnarToRow
                                          InputAdapter
                                            Scan parquet spark_catalog.default.date_dim [d_date_sk,d_week_seq,d_day_name]
                  InputAdapter
                    BroadcastExchange #5
                      WholeStageCodegen (5)
                        Project [d_week_seq]
                          Filter [d_year,d_week_seq]
                            ColumnarToRow
                              InputAdapter
                                Scan parquet spark_catalog.default.date_dim [d_week_seq,d_year]
              InputAdapter
                BroadcastExchange #6
                  WholeStageCodegen (11)
                    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 END)),sum(UnscaledValue(CASE WHEN (d_day_name = Monday   ) THEN sales_price END)),sum(UnscaledValue(CASE WHEN (d_day_name = Tuesday  ) THEN sales_price END)),sum(UnscaledValue(CASE WHEN (d_day_name = Wednesday) THEN sales_price END)),sum(UnscaledValue(CASE WHEN (d_day_name = Thursday ) THEN sales_price END)),sum(UnscaledValue(CASE WHEN (d_day_name = Friday   ) THEN sales_price END)),sum(UnscaledValue(CASE WHEN (d_day_name = Saturday ) THEN sales_price 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] #7
                              WholeStageCodegen (9)
                                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 (6)
                                            Project [ws_sold_date_sk,ws_ext_sales_price]
                                              ColumnarToRow
                                                InputAdapter
                                                  Scan parquet spark_catalog.default.web_sales [ws_ext_sales_price,ws_sold_date_sk]
                                          WholeStageCodegen (7)
                                            Project [cs_sold_date_sk,cs_ext_sales_price]
                                              ColumnarToRow
                                                InputAdapter
                                                  Scan parquet spark_catalog.default.catalog_sales [cs_ext_sales_price,cs_sold_date_sk]
                                      InputAdapter
                                        BroadcastExchange #8
                                          WholeStageCodegen (8)
                                            Filter [d_date_sk,d_week_seq]
                                              Subquery #2
                                                ObjectHashAggregate [buf] [bloom_filter_agg(xxhash64(d_week_seq, 42), 362, 9656, 0, 0),bloomFilter,buf]
                                                  Exchange #9
                                                    ObjectHashAggregate [d_week_seq] [buf,buf]
                                                      WholeStageCodegen (1)
                                                        Project [d_week_seq]
                                                          Filter [d_year,d_week_seq]
                                                            ColumnarToRow
                                                              InputAdapter
                                                                Scan parquet spark_catalog.default.date_dim [d_week_seq,d_year]
                                              ColumnarToRow
                                                InputAdapter
                                                  Scan parquet spark_catalog.default.date_dim [d_date_sk,d_week_seq,d_day_name]
                        InputAdapter
                          BroadcastExchange #10
                            WholeStageCodegen (10)
                              Project [d_week_seq]
                                Filter [d_year,d_week_seq]
                                  ColumnarToRow
                                    InputAdapter
                                      Scan parquet spark_catalog.default.date_dim [d_week_seq,d_year]
