TakeOrderedAndProject [c_customer_id]
  WholeStageCodegen (9)
    Project [c_customer_id]
      BroadcastHashJoin [ctr_customer_sk,c_customer_sk]
        Project [ctr_customer_sk]
          BroadcastHashJoin [ctr_store_sk,s_store_sk]
            Project [ctr_customer_sk,ctr_store_sk]
              BroadcastHashJoin [ctr_store_sk,ctr_store_sk,ctr_total_return,(avg(ctr_total_return) * 1.2)]
                Filter [ctr_total_return]
                  HashAggregate [sr_customer_sk,sr_store_sk,sum] [sum(UnscaledValue(sr_return_amt)),ctr_customer_sk,ctr_store_sk,ctr_total_return,sum]
                    CometColumnarToRow
                      InputAdapter
                        CometColumnarExchange [sr_customer_sk,sr_store_sk] #1
                          WholeStageCodegen (2)
                            HashAggregate [sr_customer_sk,sr_store_sk,sr_return_amt] [sum,sum]
                              Project [sr_customer_sk,sr_store_sk,sr_return_amt]
                                BroadcastHashJoin [sr_returned_date_sk,d_date_sk]
                                  Filter [sr_store_sk,sr_customer_sk]
                                    ColumnarToRow
                                      InputAdapter
                                        Scan parquet spark_catalog.default.store_returns [sr_customer_sk,sr_store_sk,sr_return_amt,sr_returned_date_sk]
                                          SubqueryBroadcast [d_date_sk] #1
                                            BroadcastExchange #2
                                              WholeStageCodegen (1)
                                                CometColumnarToRow
                                                  InputAdapter
                                                    CometProject [d_date_sk]
                                                      CometFilter [d_date_sk,d_year]
                                                        CometNativeScan parquet spark_catalog.default.date_dim [d_date_sk,d_year]
                                  InputAdapter
                                    ReusedExchange [d_date_sk] #2
                InputAdapter
                  BroadcastExchange #3
                    WholeStageCodegen (6)
                      Filter [(avg(ctr_total_return) * 1.2)]
                        HashAggregate [ctr_store_sk,sum,count] [avg(ctr_total_return),(avg(ctr_total_return) * 1.2),sum,count]
                          CometColumnarToRow
                            InputAdapter
                              CometColumnarExchange [ctr_store_sk] #4
                                WholeStageCodegen (5)
                                  HashAggregate [ctr_store_sk,ctr_total_return] [sum,count,sum,count]
                                    HashAggregate [sr_customer_sk,sr_store_sk,sum] [sum(UnscaledValue(sr_return_amt)),ctr_store_sk,ctr_total_return,sum]
                                      CometColumnarToRow
                                        InputAdapter
                                          CometColumnarExchange [sr_customer_sk,sr_store_sk] #5
                                            WholeStageCodegen (4)
                                              HashAggregate [sr_customer_sk,sr_store_sk,sr_return_amt] [sum,sum]
                                                Project [sr_customer_sk,sr_store_sk,sr_return_amt]
                                                  BroadcastHashJoin [sr_returned_date_sk,d_date_sk]
                                                    Filter [sr_store_sk]
                                                      ColumnarToRow
                                                        InputAdapter
                                                          Scan parquet spark_catalog.default.store_returns [sr_customer_sk,sr_store_sk,sr_return_amt,sr_returned_date_sk]
                                                            ReusedSubquery [d_date_sk] #1
                                                    InputAdapter
                                                      ReusedExchange [d_date_sk] #2
            InputAdapter
              BroadcastExchange #6
                WholeStageCodegen (7)
                  CometColumnarToRow
                    InputAdapter
                      CometProject [s_store_sk]
                        CometFilter [s_store_sk,s_state]
                          CometNativeScan parquet spark_catalog.default.store [s_store_sk,s_state]
        InputAdapter
          BroadcastExchange #7
            WholeStageCodegen (8)
              CometColumnarToRow
                InputAdapter
                  CometProject [c_customer_id] [c_customer_sk,c_customer_id]
                    CometFilter [c_customer_sk,c_customer_id]
                      CometNativeScan parquet spark_catalog.default.customer [c_customer_sk,c_customer_id]
