WholeStageCodegen (1)
  ColumnarToRow
    InputAdapter
      CometHashAggregate [store_only,catalog_only,store_and_catalog,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)]
        CometExchange #1
          CometHashAggregate [sum,sum,sum,customer_sk,customer_sk]
            CometProject [customer_sk,customer_sk]
              CometSortMergeJoin [customer_sk,item_sk,customer_sk,item_sk]
                CometSort [customer_sk,item_sk]
                  CometHashAggregate [customer_sk,item_sk,ss_customer_sk,ss_item_sk]
                    CometExchange [ss_customer_sk,ss_item_sk] #2
                      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]
                            CometNativeScan: `spark_catalog`.`default`.`store_sales` [ss_item_sk,ss_customer_sk,ss_sold_date_sk]
                            CometBroadcastExchange [d_date_sk] #3
                              CometProject [d_date_sk]
                                CometFilter [d_date_sk,d_month_seq]
                                  CometNativeScan: `spark_catalog`.`default`.`date_dim` [d_date_sk,d_month_seq]
                CometSort [customer_sk,item_sk]
                  CometHashAggregate [customer_sk,item_sk,cs_bill_customer_sk,cs_item_sk]
                    CometExchange [cs_bill_customer_sk,cs_item_sk] #4
                      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]
                            CometNativeScan: `spark_catalog`.`default`.`catalog_sales` [cs_bill_customer_sk,cs_item_sk,cs_sold_date_sk]
                            ReusedExchange [d_date_sk] #3
