WholeStageCodegen (8)
  BroadcastNestedLoopJoin
    BroadcastNestedLoopJoin
      BroadcastNestedLoopJoin
        BroadcastNestedLoopJoin
          BroadcastNestedLoopJoin
            BroadcastNestedLoopJoin
              BroadcastNestedLoopJoin
                ColumnarToRow
                  InputAdapter
                    CometHashAggregate [h8_30_to_9,count,count(1)]
                      CometExchange #1
                        CometHashAggregate [count]
                          CometProject
                            CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                              CometProject [ss_store_sk]
                                CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                  CometProject [ss_sold_time_sk,ss_store_sk]
                                    CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                      CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                        CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                          CometNativeScan: `spark_catalog`.`default`.`store_sales` [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                      CometBroadcastExchange [hd_demo_sk] #2
                                        CometProject [hd_demo_sk]
                                          CometFilter [hd_demo_sk,hd_dep_count,hd_vehicle_count]
                                            CometNativeScan: `spark_catalog`.`default`.`household_demographics` [hd_demo_sk,hd_dep_count,hd_vehicle_count]
                                  CometBroadcastExchange [t_time_sk] #3
                                    CometProject [t_time_sk]
                                      CometFilter [t_time_sk,t_hour,t_minute]
                                        CometNativeScan: `spark_catalog`.`default`.`time_dim` [t_time_sk,t_hour,t_minute]
                              CometBroadcastExchange [s_store_sk] #4
                                CometProject [s_store_sk]
                                  CometFilter [s_store_sk,s_store_name]
                                    CometNativeScan: `spark_catalog`.`default`.`store` [s_store_sk,s_store_name]
                InputAdapter
                  BroadcastExchange #5
                    WholeStageCodegen (1)
                      ColumnarToRow
                        InputAdapter
                          CometHashAggregate [h9_to_9_30,count,count(1)]
                            CometExchange #6
                              CometHashAggregate [count]
                                CometProject
                                  CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                                    CometProject [ss_store_sk]
                                      CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                        CometProject [ss_sold_time_sk,ss_store_sk]
                                          CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                            CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                              CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                                CometNativeScan: `spark_catalog`.`default`.`store_sales` [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                            ReusedExchange [hd_demo_sk] #2
                                        CometBroadcastExchange [t_time_sk] #7
                                          CometProject [t_time_sk]
                                            CometFilter [t_time_sk,t_hour,t_minute]
                                              CometNativeScan: `spark_catalog`.`default`.`time_dim` [t_time_sk,t_hour,t_minute]
                                    ReusedExchange [s_store_sk] #4
              InputAdapter
                BroadcastExchange #8
                  WholeStageCodegen (2)
                    ColumnarToRow
                      InputAdapter
                        CometHashAggregate [h9_30_to_10,count,count(1)]
                          CometExchange #9
                            CometHashAggregate [count]
                              CometProject
                                CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                                  CometProject [ss_store_sk]
                                    CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                      CometProject [ss_sold_time_sk,ss_store_sk]
                                        CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                          CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                            CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                              CometNativeScan: `spark_catalog`.`default`.`store_sales` [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                          ReusedExchange [hd_demo_sk] #2
                                      CometBroadcastExchange [t_time_sk] #10
                                        CometProject [t_time_sk]
                                          CometFilter [t_time_sk,t_hour,t_minute]
                                            CometNativeScan: `spark_catalog`.`default`.`time_dim` [t_time_sk,t_hour,t_minute]
                                  ReusedExchange [s_store_sk] #4
            InputAdapter
              BroadcastExchange #11
                WholeStageCodegen (3)
                  ColumnarToRow
                    InputAdapter
                      CometHashAggregate [h10_to_10_30,count,count(1)]
                        CometExchange #12
                          CometHashAggregate [count]
                            CometProject
                              CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                                CometProject [ss_store_sk]
                                  CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                    CometProject [ss_sold_time_sk,ss_store_sk]
                                      CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                        CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                          CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                            CometNativeScan: `spark_catalog`.`default`.`store_sales` [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                        ReusedExchange [hd_demo_sk] #2
                                    CometBroadcastExchange [t_time_sk] #13
                                      CometProject [t_time_sk]
                                        CometFilter [t_time_sk,t_hour,t_minute]
                                          CometNativeScan: `spark_catalog`.`default`.`time_dim` [t_time_sk,t_hour,t_minute]
                                ReusedExchange [s_store_sk] #4
          InputAdapter
            BroadcastExchange #14
              WholeStageCodegen (4)
                ColumnarToRow
                  InputAdapter
                    CometHashAggregate [h10_30_to_11,count,count(1)]
                      CometExchange #15
                        CometHashAggregate [count]
                          CometProject
                            CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                              CometProject [ss_store_sk]
                                CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                  CometProject [ss_sold_time_sk,ss_store_sk]
                                    CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                      CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                        CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                          CometNativeScan: `spark_catalog`.`default`.`store_sales` [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                      ReusedExchange [hd_demo_sk] #2
                                  CometBroadcastExchange [t_time_sk] #16
                                    CometProject [t_time_sk]
                                      CometFilter [t_time_sk,t_hour,t_minute]
                                        CometNativeScan: `spark_catalog`.`default`.`time_dim` [t_time_sk,t_hour,t_minute]
                              ReusedExchange [s_store_sk] #4
        InputAdapter
          BroadcastExchange #17
            WholeStageCodegen (5)
              ColumnarToRow
                InputAdapter
                  CometHashAggregate [h11_to_11_30,count,count(1)]
                    CometExchange #18
                      CometHashAggregate [count]
                        CometProject
                          CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                            CometProject [ss_store_sk]
                              CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                                CometProject [ss_sold_time_sk,ss_store_sk]
                                  CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                    CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                      CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                        CometNativeScan: `spark_catalog`.`default`.`store_sales` [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                    ReusedExchange [hd_demo_sk] #2
                                CometBroadcastExchange [t_time_sk] #19
                                  CometProject [t_time_sk]
                                    CometFilter [t_time_sk,t_hour,t_minute]
                                      CometNativeScan: `spark_catalog`.`default`.`time_dim` [t_time_sk,t_hour,t_minute]
                            ReusedExchange [s_store_sk] #4
      InputAdapter
        BroadcastExchange #20
          WholeStageCodegen (6)
            ColumnarToRow
              InputAdapter
                CometHashAggregate [h11_30_to_12,count,count(1)]
                  CometExchange #21
                    CometHashAggregate [count]
                      CometProject
                        CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                          CometProject [ss_store_sk]
                            CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                              CometProject [ss_sold_time_sk,ss_store_sk]
                                CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                  CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                    CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                      CometNativeScan: `spark_catalog`.`default`.`store_sales` [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                  ReusedExchange [hd_demo_sk] #2
                              CometBroadcastExchange [t_time_sk] #22
                                CometProject [t_time_sk]
                                  CometFilter [t_time_sk,t_hour,t_minute]
                                    CometNativeScan: `spark_catalog`.`default`.`time_dim` [t_time_sk,t_hour,t_minute]
                          ReusedExchange [s_store_sk] #4
    InputAdapter
      BroadcastExchange #23
        WholeStageCodegen (7)
          ColumnarToRow
            InputAdapter
              CometHashAggregate [h12_to_12_30,count,count(1)]
                CometExchange #24
                  CometHashAggregate [count]
                    CometProject
                      CometBroadcastHashJoin [ss_store_sk,s_store_sk]
                        CometProject [ss_store_sk]
                          CometBroadcastHashJoin [ss_sold_time_sk,ss_store_sk,t_time_sk]
                            CometProject [ss_sold_time_sk,ss_store_sk]
                              CometBroadcastHashJoin [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,hd_demo_sk]
                                CometProject [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk]
                                  CometFilter [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                    CometNativeScan: `spark_catalog`.`default`.`store_sales` [ss_sold_time_sk,ss_hdemo_sk,ss_store_sk,ss_sold_date_sk]
                                ReusedExchange [hd_demo_sk] #2
                            CometBroadcastExchange [t_time_sk] #25
                              CometProject [t_time_sk]
                                CometFilter [t_time_sk,t_hour,t_minute]
                                  CometNativeScan: `spark_catalog`.`default`.`time_dim` [t_time_sk,t_hour,t_minute]
                        ReusedExchange [s_store_sk] #4
