local exchange (GATHER, SINGLE, [])
    remote exchange (GATHER, SINGLE, [])
        local exchange (GATHER, SINGLE, [])
            local exchange (REPARTITION, ROUND_ROBIN, [])
                final aggregation over (channel_gid, groupid, i_brand_id_gid, i_category_id_gid, i_class_id_gid)
                    local exchange (REPARTITION, HASH, [channel_gid, groupid, i_brand_id_gid, i_category_id_gid, i_class_id_gid])
                        remote exchange (REPARTITION, HASH, [channel_gid, groupid, i_brand_id_gid, i_category_id_gid, i_class_id_gid])
                            partial aggregation over (channel_gid, groupid, i_brand_id_gid, i_category_id_gid, i_class_id_gid)
                                local exchange (REPARTITION, ROUND_ROBIN, [])
                                    cross join:
                                        final aggregation over (i_brand_id_6, i_category_id_8, i_class_id_7)
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (REPARTITION, HASH, [i_brand_id_6, i_category_id_8, i_class_id_7])
                                                    intermediate aggregation over (i_brand_id_6, i_category_id_8, i_class_id_7)
                                                        join (INNER, REPLICATED):
                                                            partial aggregation over (ss_item_sk)
                                                                join (INNER, REPLICATED):
                                                                    dynamic filter (ss_item_sk::EQUAL, ss_sold_date_sk::EQUAL)
                                                                        scan store_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    join (INNER, PARTITIONED):
                                                                        remote exchange (REPARTITION, HASH, [i_item_sk])
                                                                            dynamic filter (i_item_sk::EQUAL)
                                                                                scan item
                                                                        final aggregation over (i_item_sk_15)
                                                                            local exchange (GATHER, SINGLE, [])
                                                                                remote exchange (REPARTITION, HASH, [i_item_sk_15])
                                                                                    partial aggregation over (i_item_sk_15)
                                                                                        join (INNER, PARTITIONED, can skip output duplicates):
                                                                                            remote exchange (REPARTITION, HASH, [i_brand_id_22, i_category_id_26, i_class_id_24])
                                                                                                dynamic filter (i_brand_id_22::EQUAL, i_category_id_26::EQUAL, i_class_id_24::EQUAL)
                                                                                                    scan item
                                                                                            final aggregation over (brand_id, category_id, class_id)
                                                                                                local exchange (GATHER, SINGLE, [])
                                                                                                    remote exchange (REPARTITION, HASH, [i_brand_id_76, i_category_id_80, i_class_id_78])
                                                                                                        intermediate aggregation over (i_brand_id_76, i_category_id_80, i_class_id_78)
                                                                                                            join (INNER, REPLICATED):
                                                                                                                partial aggregation over (ss_item_sk_44)
                                                                                                                    join (INNER, REPLICATED):
                                                                                                                        dynamic filter (ss_item_sk_44::EQUAL, ss_sold_date_sk_65::EQUAL)
                                                                                                                            scan store_sales
                                                                                                                        local exchange (GATHER, SINGLE, [])
                                                                                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                                scan date_dim
                                                                                                                local exchange (GATHER, SINGLE, [])
                                                                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                        scan item
                                                                                                    remote exchange (REPARTITION, HASH, [i_brand_id_135, i_category_id_139, i_class_id_137])
                                                                                                        intermediate aggregation over (i_brand_id_135, i_category_id_139, i_class_id_137)
                                                                                                            join (INNER, REPLICATED):
                                                                                                                partial aggregation over (cs_item_sk)
                                                                                                                    join (INNER, REPLICATED):
                                                                                                                        dynamic filter (cs_item_sk::EQUAL, cs_sold_date_sk::EQUAL)
                                                                                                                            scan catalog_sales
                                                                                                                        local exchange (GATHER, SINGLE, [])
                                                                                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                                scan date_dim
                                                                                                                local exchange (GATHER, SINGLE, [])
                                                                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                        scan item
                                                                                                    remote exchange (REPARTITION, HASH, [i_brand_id_194, i_category_id_198, i_class_id_196])
                                                                                                        intermediate aggregation over (i_brand_id_194, i_category_id_198, i_class_id_196)
                                                                                                            join (INNER, REPLICATED):
                                                                                                                partial aggregation over (ws_item_sk)
                                                                                                                    join (INNER, REPLICATED):
                                                                                                                        dynamic filter (ws_item_sk::EQUAL, ws_sold_date_sk::EQUAL)
                                                                                                                            scan web_sales
                                                                                                                        local exchange (GATHER, SINGLE, [])
                                                                                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                                scan date_dim
                                                                                                                local exchange (GATHER, SINGLE, [])
                                                                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                        scan item
                                        local exchange (GATHER, SINGLE, [])
                                            remote exchange (REPLICATE, BROADCAST, [])
                                                final aggregation over ()
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (GATHER, SINGLE, [])
                                                            partial aggregation over ()
                                                                join (INNER, REPLICATED):
                                                                    dynamic filter (ss_sold_date_sk_270::EQUAL)
                                                                        scan store_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim
                                                            partial aggregation over ()
                                                                join (INNER, REPLICATED):
                                                                    dynamic filter (cs_sold_date_sk_338::EQUAL)
                                                                        scan catalog_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim
                                                            partial aggregation over ()
                                                                join (INNER, REPLICATED):
                                                                    dynamic filter (ws_sold_date_sk_406::EQUAL)
                                                                        scan web_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim
                                    cross join:
                                        final aggregation over (i_brand_id_488, i_category_id_492, i_class_id_490)
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (REPARTITION, HASH, [i_brand_id_488, i_category_id_492, i_class_id_490])
                                                    intermediate aggregation over (i_brand_id_488, i_category_id_492, i_class_id_490)
                                                        join (INNER, REPLICATED):
                                                            partial aggregation over (cs_item_sk_458)
                                                                join (INNER, REPLICATED):
                                                                    dynamic filter (cs_item_sk_458::EQUAL, cs_sold_date_sk_477::EQUAL)
                                                                        scan catalog_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    join (INNER, PARTITIONED):
                                                                        remote exchange (REPARTITION, HASH, [i_item_sk_481])
                                                                            dynamic filter (i_item_sk_481::EQUAL)
                                                                                scan item
                                                                        final aggregation over (i_item_sk_539)
                                                                            local exchange (GATHER, SINGLE, [])
                                                                                remote exchange (REPARTITION, HASH, [i_item_sk_539])
                                                                                    partial aggregation over (i_item_sk_539)
                                                                                        join (INNER, PARTITIONED, can skip output duplicates):
                                                                                            remote exchange (REPARTITION, HASH, [i_brand_id_546, i_category_id_550, i_class_id_548])
                                                                                                dynamic filter (i_brand_id_546::EQUAL, i_category_id_550::EQUAL, i_class_id_548::EQUAL)
                                                                                                    scan item
                                                                                            final aggregation over (brand_id_564, category_id_566, class_id_565)
                                                                                                local exchange (GATHER, SINGLE, [])
                                                                                                    remote exchange (REPARTITION, HASH, [i_brand_id_603, i_category_id_607, i_class_id_605])
                                                                                                        intermediate aggregation over (i_brand_id_603, i_category_id_607, i_class_id_605)
                                                                                                            join (INNER, REPLICATED):
                                                                                                                partial aggregation over (ss_item_sk_571)
                                                                                                                    join (INNER, REPLICATED):
                                                                                                                        dynamic filter (ss_item_sk_571::EQUAL, ss_sold_date_sk_592::EQUAL)
                                                                                                                            scan store_sales
                                                                                                                        local exchange (GATHER, SINGLE, [])
                                                                                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                                scan date_dim
                                                                                                                local exchange (GATHER, SINGLE, [])
                                                                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                        scan item
                                                                                                    remote exchange (REPARTITION, HASH, [i_brand_id_696, i_category_id_700, i_class_id_698])
                                                                                                        intermediate aggregation over (i_brand_id_696, i_category_id_700, i_class_id_698)
                                                                                                            join (INNER, REPLICATED):
                                                                                                                partial aggregation over (cs_item_sk_666)
                                                                                                                    join (INNER, REPLICATED):
                                                                                                                        dynamic filter (cs_item_sk_666::EQUAL, cs_sold_date_sk_685::EQUAL)
                                                                                                                            scan catalog_sales
                                                                                                                        local exchange (GATHER, SINGLE, [])
                                                                                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                                scan date_dim
                                                                                                                local exchange (GATHER, SINGLE, [])
                                                                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                        scan item
                                                                                                    remote exchange (REPARTITION, HASH, [i_brand_id_789, i_category_id_793, i_class_id_791])
                                                                                                        intermediate aggregation over (i_brand_id_789, i_category_id_793, i_class_id_791)
                                                                                                            join (INNER, REPLICATED):
                                                                                                                partial aggregation over (ws_item_sk_747)
                                                                                                                    join (INNER, REPLICATED):
                                                                                                                        dynamic filter (ws_item_sk_747::EQUAL, ws_sold_date_sk_778::EQUAL)
                                                                                                                            scan web_sales
                                                                                                                        local exchange (GATHER, SINGLE, [])
                                                                                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                                scan date_dim
                                                                                                                local exchange (GATHER, SINGLE, [])
                                                                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                        scan item
                                        local exchange (GATHER, SINGLE, [])
                                            remote exchange (REPLICATE, BROADCAST, [])
                                                final aggregation over ()
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (GATHER, SINGLE, [])
                                                            partial aggregation over ()
                                                                join (INNER, REPLICATED):
                                                                    dynamic filter (ss_sold_date_sk_869::EQUAL)
                                                                        scan store_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim
                                                            partial aggregation over ()
                                                                join (INNER, REPLICATED):
                                                                    dynamic filter (cs_sold_date_sk_937::EQUAL)
                                                                        scan catalog_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim
                                                            partial aggregation over ()
                                                                join (INNER, REPLICATED):
                                                                    dynamic filter (ws_sold_date_sk_1005::EQUAL)
                                                                        scan web_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim
                                    cross join:
                                        final aggregation over (i_brand_id_1087, i_category_id_1091, i_class_id_1089)
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (REPARTITION, HASH, [i_brand_id_1087, i_category_id_1091, i_class_id_1089])
                                                    intermediate aggregation over (i_brand_id_1087, i_category_id_1091, i_class_id_1089)
                                                        join (INNER, REPLICATED):
                                                            partial aggregation over (ws_item_sk_1045)
                                                                join (INNER, REPLICATED):
                                                                    dynamic filter (ws_item_sk_1045::EQUAL, ws_sold_date_sk_1076::EQUAL)
                                                                        scan web_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim
                                                            local exchange (GATHER, SINGLE, [])
                                                                remote exchange (REPLICATE, BROADCAST, [])
                                                                    join (INNER, PARTITIONED):
                                                                        remote exchange (REPARTITION, HASH, [i_item_sk_1080])
                                                                            dynamic filter (i_item_sk_1080::EQUAL)
                                                                                scan item
                                                                        final aggregation over (i_item_sk_1138)
                                                                            local exchange (GATHER, SINGLE, [])
                                                                                remote exchange (REPARTITION, HASH, [i_item_sk_1138])
                                                                                    partial aggregation over (i_item_sk_1138)
                                                                                        join (INNER, PARTITIONED, can skip output duplicates):
                                                                                            remote exchange (REPARTITION, HASH, [i_brand_id_1145, i_category_id_1149, i_class_id_1147])
                                                                                                dynamic filter (i_brand_id_1145::EQUAL, i_category_id_1149::EQUAL, i_class_id_1147::EQUAL)
                                                                                                    scan item
                                                                                            final aggregation over (brand_id_1163, category_id_1165, class_id_1164)
                                                                                                local exchange (GATHER, SINGLE, [])
                                                                                                    remote exchange (REPARTITION, HASH, [i_brand_id_1202, i_category_id_1206, i_class_id_1204])
                                                                                                        intermediate aggregation over (i_brand_id_1202, i_category_id_1206, i_class_id_1204)
                                                                                                            join (INNER, REPLICATED):
                                                                                                                partial aggregation over (ss_item_sk_1170)
                                                                                                                    join (INNER, REPLICATED):
                                                                                                                        dynamic filter (ss_item_sk_1170::EQUAL, ss_sold_date_sk_1191::EQUAL)
                                                                                                                            scan store_sales
                                                                                                                        local exchange (GATHER, SINGLE, [])
                                                                                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                                scan date_dim
                                                                                                                local exchange (GATHER, SINGLE, [])
                                                                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                        scan item
                                                                                                    remote exchange (REPARTITION, HASH, [i_brand_id_1295, i_category_id_1299, i_class_id_1297])
                                                                                                        intermediate aggregation over (i_brand_id_1295, i_category_id_1299, i_class_id_1297)
                                                                                                            join (INNER, REPLICATED):
                                                                                                                partial aggregation over (cs_item_sk_1265)
                                                                                                                    join (INNER, REPLICATED):
                                                                                                                        dynamic filter (cs_item_sk_1265::EQUAL, cs_sold_date_sk_1284::EQUAL)
                                                                                                                            scan catalog_sales
                                                                                                                        local exchange (GATHER, SINGLE, [])
                                                                                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                                scan date_dim
                                                                                                                local exchange (GATHER, SINGLE, [])
                                                                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                        scan item
                                                                                                    remote exchange (REPARTITION, HASH, [i_brand_id_1388, i_category_id_1392, i_class_id_1390])
                                                                                                        intermediate aggregation over (i_brand_id_1388, i_category_id_1392, i_class_id_1390)
                                                                                                            join (INNER, REPLICATED):
                                                                                                                partial aggregation over (ws_item_sk_1346)
                                                                                                                    join (INNER, REPLICATED):
                                                                                                                        dynamic filter (ws_item_sk_1346::EQUAL, ws_sold_date_sk_1377::EQUAL)
                                                                                                                            scan web_sales
                                                                                                                        local exchange (GATHER, SINGLE, [])
                                                                                                                            remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                                scan date_dim
                                                                                                                local exchange (GATHER, SINGLE, [])
                                                                                                                    remote exchange (REPLICATE, BROADCAST, [])
                                                                                                                        scan item
                                        local exchange (GATHER, SINGLE, [])
                                            remote exchange (REPLICATE, BROADCAST, [])
                                                final aggregation over ()
                                                    local exchange (GATHER, SINGLE, [])
                                                        remote exchange (GATHER, SINGLE, [])
                                                            partial aggregation over ()
                                                                join (INNER, REPLICATED):
                                                                    dynamic filter (ss_sold_date_sk_1468::EQUAL)
                                                                        scan store_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim
                                                            partial aggregation over ()
                                                                join (INNER, REPLICATED):
                                                                    dynamic filter (cs_sold_date_sk_1536::EQUAL)
                                                                        scan catalog_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim
                                                            partial aggregation over ()
                                                                join (INNER, REPLICATED):
                                                                    dynamic filter (ws_sold_date_sk_1604::EQUAL)
                                                                        scan web_sales
                                                                    local exchange (GATHER, SINGLE, [])
                                                                        remote exchange (REPLICATE, BROADCAST, [])
                                                                            scan date_dim
