local exchange (GATHER, SINGLE, [])
    remote exchange (GATHER, SINGLE, [])
        join (INNER, PARTITIONED):
            single hashaggregation over (d_year_151, i_brand_id_152, i_category_id_154, i_class_id_153, i_manufact_id_155)
                final hashaggregation over (d_year_151, expr_156, expr_157, i_brand_id_152, i_category_id_154, i_class_id_153, i_manufact_id_155)
                    local exchange (REPARTITION, HASH, ["d_year_151", "i_brand_id_152", "i_category_id_154", "i_class_id_153", "i_manufact_id_155"])
                        remote exchange (REPARTITION, HASH, ["i_brand_id", "i_category_id", "i_class_id", "i_manufact_id"])
                            partial hashaggregation over (d_year, expr, expr_13, i_brand_id, i_category_id, i_class_id, i_manufact_id)
                                join (RIGHT, PARTITIONED):
                                    remote exchange (REPARTITION, HASH, ["cr_item_sk", "cr_order_number"])
                                        scan catalog_returns
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["cs_item_sk", "cs_order_number"])
                                            join (INNER, REPLICATED):
                                                join (INNER, REPLICATED):
                                                    scan catalog_sales
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                            scan item
                                                local exchange (GATHER, SINGLE, [])
                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                        scan date_dim
                        remote exchange (REPARTITION, HASH, ["i_brand_id_21", "i_category_id_25", "i_class_id_23", "i_manufact_id_27"])
                            partial hashaggregation over (d_year_44, expr_77, expr_78, i_brand_id_21, i_category_id_25, i_class_id_23, i_manufact_id_27)
                                join (RIGHT, PARTITIONED):
                                    remote exchange (REPARTITION, HASH, ["sr_item_sk", "sr_ticket_number"])
                                        scan store_returns
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["ss_item_sk", "ss_ticket_number"])
                                            join (INNER, REPLICATED):
                                                join (INNER, REPLICATED):
                                                    scan store_sales
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                            scan item
                                                local exchange (GATHER, SINGLE, [])
                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                        scan date_dim
                        remote exchange (REPARTITION, HASH, ["i_brand_id_93", "i_category_id_97", "i_class_id_95", "i_manufact_id_99"])
                            partial hashaggregation over (d_year_116, expr_149, expr_150, i_brand_id_93, i_category_id_97, i_class_id_95, i_manufact_id_99)
                                join (RIGHT, PARTITIONED):
                                    remote exchange (REPARTITION, HASH, ["wr_item_sk", "wr_order_number"])
                                        scan web_returns
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["ws_item_sk", "ws_order_number"])
                                            join (INNER, REPLICATED):
                                                join (INNER, REPLICATED):
                                                    scan web_sales
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                            scan item
                                                local exchange (GATHER, SINGLE, [])
                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                        scan date_dim
            single hashaggregation over (d_year_556, i_brand_id_557, i_category_id_559, i_class_id_558, i_manufact_id_560)
                final hashaggregation over (d_year_556, expr_561, expr_562, i_brand_id_557, i_category_id_559, i_class_id_558, i_manufact_id_560)
                    local exchange (GATHER, SINGLE, [])
                        remote exchange (REPARTITION, HASH, ["i_brand_id_233", "i_category_id_237", "i_class_id_235", "i_manufact_id_239"])
                            partial hashaggregation over (d_year_256, expr_316, expr_317, i_brand_id_233, i_category_id_237, i_class_id_235, i_manufact_id_239)
                                join (RIGHT, PARTITIONED):
                                    remote exchange (REPARTITION, HASH, ["cr_item_sk_282", "cr_order_number_296"])
                                        scan catalog_returns
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["cs_item_sk_207", "cs_order_number_209"])
                                            join (INNER, REPLICATED):
                                                join (INNER, REPLICATED):
                                                    scan catalog_sales
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                            scan item
                                                local exchange (GATHER, SINGLE, [])
                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                        scan date_dim
                        remote exchange (REPARTITION, HASH, ["i_brand_id_348", "i_category_id_352", "i_class_id_350", "i_manufact_id_354"])
                            partial hashaggregation over (d_year_371, expr_424, expr_425, i_brand_id_348, i_category_id_352, i_class_id_350, i_manufact_id_354)
                                join (RIGHT, PARTITIONED):
                                    remote exchange (REPARTITION, HASH, ["sr_item_sk_397", "sr_ticket_number_404"])
                                        scan store_returns
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["ss_item_sk_320", "ss_ticket_number_327"])
                                            join (INNER, REPLICATED):
                                                join (INNER, REPLICATED):
                                                    scan store_sales
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                            scan item
                                                local exchange (GATHER, SINGLE, [])
                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                        scan date_dim
                        remote exchange (REPARTITION, HASH, ["i_brand_id_474", "i_category_id_478", "i_class_id_476", "i_manufact_id_480"])
                            partial hashaggregation over (d_year_497, expr_554, expr_555, i_brand_id_474, i_category_id_478, i_class_id_476, i_manufact_id_480)
                                join (RIGHT, PARTITIONED):
                                    remote exchange (REPARTITION, HASH, ["wr_item_sk_523", "wr_order_number_534"])
                                        scan web_returns
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["ws_item_sk_436", "ws_order_number_450"])
                                            join (INNER, REPLICATED):
                                                join (INNER, REPLICATED):
                                                    scan web_sales
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                            scan item
                                                local exchange (GATHER, SINGLE, [])
                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                        scan date_dim
