WholeStageCodegen (6)
  HashAggregate [sum,sum,sum] [sum(CASE WHEN (isnotnull(customer_sk) AND isnull(customer_sk)) THEN 1 ELSE 0 END),sum(CASE WHEN (isnull(customer_sk) AND isnotnull(customer_sk)) THEN 1 ELSE 0 END),sum(CASE WHEN (isnotnull(customer_sk) AND isnotnull(customer_sk)) THEN 1 ELSE 0 END),store_only,catalog_only,store_and_catalog,sum,sum,sum]
    InputAdapter
      Exchange #1
        WholeStageCodegen (5)
          HashAggregate [customer_sk,customer_sk] [sum,sum,sum,sum,sum,sum]
            Project [customer_sk,customer_sk]
              SortMergeJoin [customer_sk,item_sk,customer_sk,item_sk]
                InputAdapter
                  WholeStageCodegen (2)
                    Sort [customer_sk,item_sk]
                      HashAggregate [ss_customer_sk,ss_item_sk] [customer_sk,item_sk]
                        InputAdapter
                          Exchange [ss_customer_sk,ss_item_sk] #2
                            WholeStageCodegen (1)
                              ColumnarToRow
                                InputAdapter
                                  CometHashAggregate [ss_customer_sk,ss_item_sk]
                                    CometProject [ss_item_sk,ss_customer_sk]
                                      CometBroadcastHashJoin [ss_item_sk,ss_customer_sk,ss_sold_date_sk,d_date_sk]
                                        CometScan parquet spark_catalog.default.store_sales [ss_item_sk,ss_customer_sk,ss_sold_date_sk]
                                          SubqueryBroadcast [d_date_sk] #1
                                            BroadcastExchange #3
                                              WholeStageCodegen (1)
                                                ColumnarToRow
                                                  InputAdapter
                                                    CometProject [d_date_sk]
                                                      CometFilter [d_date_sk,d_month_seq]
                                                        CometScan parquet spark_catalog.default.date_dim [d_date_sk,d_month_seq]
                                        CometBroadcastExchange [d_date_sk] #4
                                          CometProject [d_date_sk]
                                            CometFilter [d_date_sk,d_month_seq]
                                              CometScan parquet spark_catalog.default.date_dim [d_date_sk,d_month_seq]
                InputAdapter
                  WholeStageCodegen (4)
                    Sort [customer_sk,item_sk]
                      HashAggregate [cs_bill_customer_sk,cs_item_sk] [customer_sk,item_sk]
                        InputAdapter
                          Exchange [cs_bill_customer_sk,cs_item_sk] #5
                            WholeStageCodegen (3)
                              ColumnarToRow
                                InputAdapter
                                  CometHashAggregate [cs_bill_customer_sk,cs_item_sk]
                                    CometProject [cs_bill_customer_sk,cs_item_sk]
                                      CometBroadcastHashJoin [cs_bill_customer_sk,cs_item_sk,cs_sold_date_sk,d_date_sk]
                                        CometScan parquet spark_catalog.default.catalog_sales [cs_bill_customer_sk,cs_item_sk,cs_sold_date_sk]
                                          ReusedSubquery [d_date_sk] #1
                                        ReusedExchange [d_date_sk] #4
