local exchange (GATHER, SINGLE, [])
    remote exchange (GATHER, SINGLE, [])
        final hashaggregation over (d_qoy_176, d_year_175, expr_173, expr_174, i_category_177)
            local exchange (REPARTITION, HASH, ["d_qoy_176", "d_year_175", "expr_173", "expr_174", "i_category_177"])
                local exchange (REPARTITION, ROUND_ROBIN, [])
                    remote exchange (REPARTITION, HASH, ["cast", "d_qoy", "d_year", "expr_225", "i_category"])
                        partial hashaggregation over (cast, d_qoy, d_year, expr_225, i_category)
                            join (INNER, PARTITIONED):
                                remote exchange (REPARTITION, HASH, ["ss_item_sk"])
                                    join (INNER, PARTITIONED):
                                        remote exchange (REPARTITION, HASH, ["d_date_sk"])
                                            scan date_dim
                                        local exchange (GATHER, SINGLE, [])
                                            remote exchange (REPARTITION, HASH, ["ss_sold_date_sk"])
                                                scan store_sales (pushdown = true)
                                local exchange (GATHER, SINGLE, [])
                                    remote exchange (REPARTITION, HASH, ["i_item_sk"])
                                        scan item
                    remote exchange (REPARTITION, HASH, ["cast_230", "d_qoy_53", "d_year_49", "expr_231", "i_category_32"])
                        partial hashaggregation over (cast_230, d_qoy_53, d_year_49, expr_231, i_category_32)
                            join (INNER, REPLICATED):
                                scan item
                                local exchange (GATHER, SINGLE, [])
                                    remote exchange (REPLICATE, BROADCAST, [])
                                        join (INNER, REPLICATED):
                                            scan date_dim
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (REPLICATE, BROADCAST, [])
                                                    scan web_sales (pushdown = true)
                remote exchange (REPARTITION, HASH, ["d_qoy_136", "d_year_132", "expr_155", "expr_168", "i_category_115"])
                    partial hashaggregation over (d_qoy_136, d_year_132, expr_155, expr_168, i_category_115)
                        join (INNER, PARTITIONED):
                            remote exchange (REPARTITION, HASH, ["i_item_sk_103"])
                                scan item
                            local exchange (GATHER, SINGLE, [])
                                remote exchange (REPARTITION, HASH, ["cs_item_sk"])
                                    join (INNER, REPLICATED):
                                        scan date_dim
                                        local exchange (GATHER, SINGLE, [])
                                            remote exchange (REPLICATE, BROADCAST, [])
                                                scan catalog_sales (pushdown = true)
