WholeStageCodegen (14)
  Sort [w_warehouse_sk,i_item_sk,d_moy,mean,cov,d_moy,mean,cov]
    InputAdapter
      Exchange [w_warehouse_sk,i_item_sk,d_moy,mean,cov,d_moy,mean,cov] #1
        WholeStageCodegen (13)
          SortMergeJoin [i_item_sk,w_warehouse_sk,i_item_sk,w_warehouse_sk]
            InputAdapter
              WholeStageCodegen (6)
                Sort [i_item_sk,w_warehouse_sk]
                  InputAdapter
                    Exchange [i_item_sk,w_warehouse_sk] #2
                      WholeStageCodegen (5)
                        Project [w_warehouse_sk,i_item_sk,d_moy,mean,stdev]
                          Filter [mean,stdev]
                            HashAggregate [w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy,n,avg,m2,sum,count] [stddev_samp(cast(inv_quantity_on_hand as double)),avg(inv_quantity_on_hand),stdev,mean,n,avg,m2,sum,count]
                              InputAdapter
                                Exchange [w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy] #3
                                  WholeStageCodegen (4)
                                    HashAggregate [w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy,inv_quantity_on_hand] [n,avg,m2,sum,count,n,avg,m2,sum,count]
                                      Project [inv_quantity_on_hand,i_item_sk,w_warehouse_sk,w_warehouse_name,d_moy]
                                        BroadcastHashJoin [inv_warehouse_sk,w_warehouse_sk]
                                          Project [inv_warehouse_sk,inv_quantity_on_hand,d_moy,i_item_sk]
                                            BroadcastHashJoin [inv_item_sk,i_item_sk]
                                              Project [inv_item_sk,inv_warehouse_sk,inv_quantity_on_hand,d_moy]
                                                BroadcastHashJoin [inv_date_sk,d_date_sk]
                                                  Filter [inv_item_sk,inv_warehouse_sk]
                                                    ColumnarToRow
                                                      InputAdapter
                                                        Scan parquet spark_catalog.default.inventory [inv_item_sk,inv_warehouse_sk,inv_quantity_on_hand,inv_date_sk]
                                                          SubqueryBroadcast [d_date_sk] #1
                                                            BroadcastExchange #4
                                                              WholeStageCodegen (1)
                                                                Project [d_date_sk,d_moy]
                                                                  Filter [d_year,d_moy,d_date_sk]
                                                                    ColumnarToRow
                                                                      InputAdapter
                                                                        Scan parquet spark_catalog.default.date_dim [d_date_sk,d_year,d_moy]
                                                  InputAdapter
                                                    ReusedExchange [d_date_sk,d_moy] #4
                                              InputAdapter
                                                BroadcastExchange #5
                                                  WholeStageCodegen (2)
                                                    Filter [i_item_sk]
                                                      ColumnarToRow
                                                        InputAdapter
                                                          Scan parquet spark_catalog.default.item [i_item_sk]
                                          InputAdapter
                                            BroadcastExchange #6
                                              WholeStageCodegen (3)
                                                Filter [w_warehouse_sk]
                                                  ColumnarToRow
                                                    InputAdapter
                                                      Scan parquet spark_catalog.default.warehouse [w_warehouse_sk,w_warehouse_name]
            InputAdapter
              WholeStageCodegen (12)
                Sort [i_item_sk,w_warehouse_sk]
                  InputAdapter
                    Exchange [i_item_sk,w_warehouse_sk] #7
                      WholeStageCodegen (11)
                        Project [w_warehouse_sk,i_item_sk,d_moy,mean,stdev]
                          Filter [mean,stdev]
                            HashAggregate [w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy,n,avg,m2,sum,count] [stddev_samp(cast(inv_quantity_on_hand as double)),avg(inv_quantity_on_hand),stdev,mean,n,avg,m2,sum,count]
                              InputAdapter
                                Exchange [w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy] #8
                                  WholeStageCodegen (10)
                                    HashAggregate [w_warehouse_name,w_warehouse_sk,i_item_sk,d_moy,inv_quantity_on_hand] [n,avg,m2,sum,count,n,avg,m2,sum,count]
                                      Project [inv_quantity_on_hand,i_item_sk,w_warehouse_sk,w_warehouse_name,d_moy]
                                        BroadcastHashJoin [inv_warehouse_sk,w_warehouse_sk]
                                          Project [inv_warehouse_sk,inv_quantity_on_hand,d_moy,i_item_sk]
                                            BroadcastHashJoin [inv_item_sk,i_item_sk]
                                              Project [inv_item_sk,inv_warehouse_sk,inv_quantity_on_hand,d_moy]
                                                BroadcastHashJoin [inv_date_sk,d_date_sk]
                                                  Filter [inv_item_sk,inv_warehouse_sk]
                                                    ColumnarToRow
                                                      InputAdapter
                                                        Scan parquet spark_catalog.default.inventory [inv_item_sk,inv_warehouse_sk,inv_quantity_on_hand,inv_date_sk]
                                                          SubqueryBroadcast [d_date_sk] #2
                                                            BroadcastExchange #9
                                                              WholeStageCodegen (1)
                                                                Project [d_date_sk,d_moy]
                                                                  Filter [d_year,d_moy,d_date_sk]
                                                                    ColumnarToRow
                                                                      InputAdapter
                                                                        Scan parquet spark_catalog.default.date_dim [d_date_sk,d_year,d_moy]
                                                  InputAdapter
                                                    ReusedExchange [d_date_sk,d_moy] #9
                                              InputAdapter
                                                ReusedExchange [i_item_sk] #5
                                          InputAdapter
                                            ReusedExchange [w_warehouse_sk,w_warehouse_name] #6
