local exchange (GATHER, SINGLE, [])
    remote exchange (GATHER, SINGLE, [])
        final hashaggregation over (channel$gid, groupid, i_brand_id$gid_1690, i_category_id$gid_1692, i_class_id$gid_1691)
            local exchange (REPARTITION, HASH, ["channel$gid", "groupid", "i_brand_id$gid_1690", "i_category_id$gid_1692", "i_class_id$gid_1691"])
                remote exchange (REPARTITION, HASH, ["channel$gid", "groupid", "i_brand_id$gid_1690", "i_category_id$gid_1692", "i_class_id$gid_1691"])
                    partial hashaggregation over (channel$gid, groupid, i_brand_id$gid_1690, i_category_id$gid_1692, i_class_id$gid_1691)
                        local exchange (REPARTITION, ROUND_ROBIN, [])
                            cross join:
                                final hashaggregation over (i_brand_id, i_category_id, i_class_id)
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["i_brand_id", "i_category_id", "i_class_id"])
                                            partial hashaggregation over (i_brand_id, i_category_id, i_class_id)
                                                semijoin (PARTITIONED):
                                                    join (INNER, PARTITIONED):
                                                        remote exchange (REPARTITION, HASH, ["i_item_sk"])
                                                            scan item
                                                        local exchange (GATHER, SINGLE, [])
                                                            remote exchange (REPARTITION, HASH, ["ss_item_sk"])
                                                                join (INNER, REPLICATED):
                                                                    scan store_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim (pushdown = true)
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_3"])
                                                            join (INNER, PARTITIONED):
                                                                remote exchange (REPARTITION, HASH, ["i_brand_id_10", "i_category_id_14", "i_class_id_12"])
                                                                    scan item
                                                                final hashaggregation over (expr_219, expr_220, expr_221)
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPARTITION, HASH, ["i_brand_id_57", "i_category_id_61", "i_class_id_59"])
                                                                            partial hashaggregation over (i_brand_id_57, i_category_id_61, i_class_id_59)
                                                                                join (INNER, PARTITIONED):
                                                                                    remote exchange (REPARTITION, HASH, ["ss_item_sk_28"])
                                                                                        join (INNER, REPLICATED):
                                                                                            scan store_sales
                                                                                            local exchange (GATHER, SINGLE, [])
                                                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                                                    scan date_dim (pushdown = true)
                                                                                    local exchange (GATHER, SINGLE, [])
                                                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_50"])
                                                                                            scan item
                                                                        remote exchange (REPARTITION, HASH, ["i_brand_id_112", "i_category_id_116", "i_class_id_114"])
                                                                            partial hashaggregation over (i_brand_id_112, i_category_id_116, i_class_id_114)
                                                                                join (INNER, PARTITIONED):
                                                                                    remote exchange (REPARTITION, HASH, ["cs_item_sk"])
                                                                                        join (INNER, REPLICATED):
                                                                                            scan catalog_sales
                                                                                            local exchange (GATHER, SINGLE, [])
                                                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                                                    scan date_dim (pushdown = true)
                                                                                    local exchange (GATHER, SINGLE, [])
                                                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_105"])
                                                                                            scan item
                                                                        remote exchange (REPARTITION, HASH, ["i_brand_id_171", "i_category_id_175", "i_class_id_173"])
                                                                            partial hashaggregation over (i_brand_id_171, i_category_id_175, i_class_id_173)
                                                                                join (INNER, PARTITIONED):
                                                                                    remote exchange (REPARTITION, HASH, ["ws_item_sk"])
                                                                                        join (INNER, REPLICATED):
                                                                                            scan web_sales
                                                                                            local exchange (GATHER, SINGLE, [])
                                                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                                                    scan date_dim (pushdown = true)
                                                                                    local exchange (GATHER, SINGLE, [])
                                                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_164"])
                                                                                            scan item
                                local exchange (GATHER, SINGLE, [])
                                    remote exchange (REPLICATE, BROADCAST, [])
                                        final hashaggregation over ()
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (GATHER, SINGLE, [])
                                                    partial hashaggregation over ()
                                                        join (INNER, REPLICATED):
                                                            scan store_sales
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    scan date_dim (pushdown = true)
                                                    partial hashaggregation over ()
                                                        join (INNER, REPLICATED):
                                                            scan catalog_sales
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    scan date_dim (pushdown = true)
                                                    partial hashaggregation over ()
                                                        join (INNER, REPLICATED):
                                                            scan web_sales
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    scan date_dim (pushdown = true)
                            cross join:
                                final hashaggregation over (i_brand_id_493, i_category_id_497, i_class_id_495)
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["i_brand_id_493", "i_category_id_497", "i_class_id_495"])
                                            partial hashaggregation over (i_brand_id_493, i_category_id_497, i_class_id_495)
                                                semijoin (PARTITIONED):
                                                    join (INNER, PARTITIONED):
                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_486"])
                                                            scan item
                                                        local exchange (GATHER, SINGLE, [])
                                                            remote exchange (REPARTITION, HASH, ["cs_item_sk_466"])
                                                                join (INNER, REPLICATED):
                                                                    scan catalog_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim (pushdown = true)
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_539"])
                                                            join (INNER, PARTITIONED):
                                                                remote exchange (REPARTITION, HASH, ["i_brand_id_546", "i_category_id_550", "i_class_id_548"])
                                                                    scan item
                                                                final hashaggregation over (expr_824, expr_825, expr_826)
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPARTITION, HASH, ["i_brand_id_593", "i_category_id_597", "i_class_id_595"])
                                                                            partial hashaggregation over (i_brand_id_593, i_category_id_597, i_class_id_595)
                                                                                join (INNER, PARTITIONED):
                                                                                    remote exchange (REPARTITION, HASH, ["ss_item_sk_564"])
                                                                                        join (INNER, REPLICATED):
                                                                                            scan store_sales
                                                                                            local exchange (GATHER, SINGLE, [])
                                                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                                                    scan date_dim (pushdown = true)
                                                                                    local exchange (GATHER, SINGLE, [])
                                                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_586"])
                                                                                            scan item
                                                                        remote exchange (REPARTITION, HASH, ["i_brand_id_683", "i_category_id_687", "i_class_id_685"])
                                                                            partial hashaggregation over (i_brand_id_683, i_category_id_687, i_class_id_685)
                                                                                join (INNER, PARTITIONED):
                                                                                    remote exchange (REPARTITION, HASH, ["cs_item_sk_656"])
                                                                                        join (INNER, REPLICATED):
                                                                                            scan catalog_sales
                                                                                            local exchange (GATHER, SINGLE, [])
                                                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                                                    scan date_dim (pushdown = true)
                                                                                    local exchange (GATHER, SINGLE, [])
                                                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_676"])
                                                                                            scan item
                                                                        remote exchange (REPARTITION, HASH, ["i_brand_id_776", "i_category_id_780", "i_class_id_778"])
                                                                            partial hashaggregation over (i_brand_id_776, i_category_id_780, i_class_id_778)
                                                                                join (INNER, PARTITIONED):
                                                                                    remote exchange (REPARTITION, HASH, ["ws_item_sk_737"])
                                                                                        join (INNER, REPLICATED):
                                                                                            scan web_sales
                                                                                            local exchange (GATHER, SINGLE, [])
                                                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                                                    scan date_dim (pushdown = true)
                                                                                    local exchange (GATHER, SINGLE, [])
                                                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_769"])
                                                                                            scan item
                                local exchange (GATHER, SINGLE, [])
                                    remote exchange (REPLICATE, BROADCAST, [])
                                        final hashaggregation over ()
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (GATHER, SINGLE, [])
                                                    partial hashaggregation over ()
                                                        join (INNER, REPLICATED):
                                                            scan store_sales
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    scan date_dim (pushdown = true)
                                                    partial hashaggregation over ()
                                                        join (INNER, REPLICATED):
                                                            scan catalog_sales
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    scan date_dim (pushdown = true)
                                                    partial hashaggregation over ()
                                                        join (INNER, REPLICATED):
                                                            scan web_sales
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    scan date_dim (pushdown = true)
                            cross join:
                                final hashaggregation over (i_brand_id_1105, i_category_id_1109, i_class_id_1107)
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["i_brand_id_1105", "i_category_id_1109", "i_class_id_1107"])
                                            partial hashaggregation over (i_brand_id_1105, i_category_id_1109, i_class_id_1107)
                                                semijoin (PARTITIONED):
                                                    join (INNER, PARTITIONED):
                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_1098"])
                                                            scan item
                                                        local exchange (GATHER, SINGLE, [])
                                                            remote exchange (REPARTITION, HASH, ["ws_item_sk_1066"])
                                                                join (INNER, REPLICATED):
                                                                    scan web_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim (pushdown = true)
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_1151"])
                                                            join (INNER, PARTITIONED):
                                                                remote exchange (REPARTITION, HASH, ["i_brand_id_1158", "i_category_id_1162", "i_class_id_1160"])
                                                                    scan item
                                                                final hashaggregation over (expr_1436, expr_1437, expr_1438)
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPARTITION, HASH, ["i_brand_id_1205", "i_category_id_1209", "i_class_id_1207"])
                                                                            partial hashaggregation over (i_brand_id_1205, i_category_id_1209, i_class_id_1207)
                                                                                join (INNER, PARTITIONED):
                                                                                    remote exchange (REPARTITION, HASH, ["ss_item_sk_1176"])
                                                                                        join (INNER, REPLICATED):
                                                                                            scan store_sales
                                                                                            local exchange (GATHER, SINGLE, [])
                                                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                                                    scan date_dim (pushdown = true)
                                                                                    local exchange (GATHER, SINGLE, [])
                                                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_1198"])
                                                                                            scan item
                                                                        remote exchange (REPARTITION, HASH, ["i_brand_id_1295", "i_category_id_1299", "i_class_id_1297"])
                                                                            partial hashaggregation over (i_brand_id_1295, i_category_id_1299, i_class_id_1297)
                                                                                join (INNER, PARTITIONED):
                                                                                    remote exchange (REPARTITION, HASH, ["cs_item_sk_1268"])
                                                                                        join (INNER, REPLICATED):
                                                                                            scan catalog_sales
                                                                                            local exchange (GATHER, SINGLE, [])
                                                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                                                    scan date_dim (pushdown = true)
                                                                                    local exchange (GATHER, SINGLE, [])
                                                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_1288"])
                                                                                            scan item
                                                                        remote exchange (REPARTITION, HASH, ["i_brand_id_1388", "i_category_id_1392", "i_class_id_1390"])
                                                                            partial hashaggregation over (i_brand_id_1388, i_category_id_1392, i_class_id_1390)
                                                                                join (INNER, PARTITIONED):
                                                                                    remote exchange (REPARTITION, HASH, ["ws_item_sk_1349"])
                                                                                        join (INNER, REPLICATED):
                                                                                            scan web_sales
                                                                                            local exchange (GATHER, SINGLE, [])
                                                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                                                    scan date_dim (pushdown = true)
                                                                                    local exchange (GATHER, SINGLE, [])
                                                                                        remote exchange (REPARTITION, HASH, ["i_item_sk_1381"])
                                                                                            scan item
                                local exchange (GATHER, SINGLE, [])
                                    remote exchange (REPLICATE, BROADCAST, [])
                                        final hashaggregation over ()
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (GATHER, SINGLE, [])
                                                    partial hashaggregation over ()
                                                        join (INNER, REPLICATED):
                                                            scan store_sales
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    scan date_dim (pushdown = true)
                                                    partial hashaggregation over ()
                                                        join (INNER, REPLICATED):
                                                            scan catalog_sales
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    scan date_dim (pushdown = true)
                                                    partial hashaggregation over ()
                                                        join (INNER, REPLICATED):
                                                            scan web_sales
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    scan date_dim (pushdown = true)
