WholeStageCodegen (4)
  HashAggregate [count] [count(1),count(1),count]
    InputAdapter
      Exchange #1
        WholeStageCodegen (3)
          HashAggregate [count,count]
            Project
              BroadcastHashJoin [c_last_name,c_first_name,d_date,c_last_name,c_first_name,d_date]
                BroadcastHashJoin [c_last_name,c_first_name,d_date,c_last_name,c_first_name,d_date]
                  ColumnarToRow
                    InputAdapter
                      CometHashAggregate [c_last_name,c_first_name,d_date]
                        CometExchange [c_last_name,c_first_name,d_date] #2
                          CometHashAggregate [c_last_name,c_first_name,d_date]
                            CometProject [c_last_name,c_first_name,d_date]
                              CometBroadcastHashJoin [ss_customer_sk,d_date,c_customer_sk,c_first_name,c_last_name]
                                CometProject [ss_customer_sk,d_date]
                                  CometBroadcastHashJoin [ss_customer_sk,ss_sold_date_sk,d_date_sk,d_date]
                                    CometFilter [ss_customer_sk,ss_sold_date_sk]
                                      CometNativeScan: `spark_catalog`.`default`.`store_sales` [ss_customer_sk,ss_sold_date_sk]
                                    CometBroadcastExchange [d_date_sk,d_date] #3
                                      CometProject [d_date_sk,d_date]
                                        CometFilter [d_date_sk,d_date,d_month_seq]
                                          CometNativeScan: `spark_catalog`.`default`.`date_dim` [d_date_sk,d_date,d_month_seq]
                                CometBroadcastExchange [c_customer_sk,c_first_name,c_last_name] #4
                                  CometFilter [c_customer_sk,c_first_name,c_last_name]
                                    CometNativeScan: `spark_catalog`.`default`.`customer` [c_customer_sk,c_first_name,c_last_name]
                  InputAdapter
                    BroadcastExchange #5
                      WholeStageCodegen (1)
                        ColumnarToRow
                          InputAdapter
                            CometHashAggregate [c_last_name,c_first_name,d_date]
                              ReusedExchange [c_last_name,c_first_name,d_date] #2
                InputAdapter
                  ReusedExchange [c_last_name,c_first_name,d_date] #5
