remote exchange (GATHER, SINGLE, [])
    local exchange (GATHER, UNKNOWN, [])
        remote exchange (REPARTITION, ROUND_ROBIN, [])
            semijoin (PARTITIONED):
                remote exchange (REPARTITION, HASH, ["suppkey"])
                    join (INNER, REPLICATED):
                        scan supplier
                        local exchange (GATHER, SINGLE, [])
                            remote exchange (REPLICATE, BROADCAST, [])
                                scan nation
                local exchange (GATHER, SINGLE, [])
                    remote exchange (REPARTITION, HASH, ["suppkey_4"])
                        cross join:
                            join (LEFT, PARTITIONED):
                                semijoin (PARTITIONED):
                                    remote exchange (REPARTITION, HASH, ["partkey"])
                                        scan partsupp
                                    local exchange (GATHER, SINGLE, [])
                                        remote exchange (REPARTITION, HASH, ["partkey_8"])
                                            scan part
                                local exchange (GATHER, SINGLE, [])
                                    remote exchange (REPARTITION, HASH, ["partkey_16"])
                                        final hashaggregation over (partkey_16, suppkey_17)
                                            local exchange (GATHER, SINGLE, [])
                                                remote exchange (REPARTITION, HASH, ["partkey_16", "suppkey_17"])
                                                    partial hashaggregation over (partkey_16, suppkey_17)
                                                        scan lineitem
                            local exchange (GATHER, SINGLE, [])
                                remote exchange (REPLICATE, BROADCAST, [])
                                    single hashaggregation over ()
                                        values (1 rows)
