Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
In Distributed System, RelDistribution is used for Exchange or SortExchange. for some operators it may deliver RelDistribution Trait, but some operator like SortedMergeJoin may deliver multiple traits.
eg:
Query: select * from T1 join T2 on T1.c1=T2.d1; Suppose Plan: SortedMergeJoin Exchange(c1) T1(c1) Exchange(d1) T2(d1)
than SortedMergeJoin can deliver RelDistribution(hash[c1]) or RelDistribution(hash[d1]).
we can consider RelDistribution extend RelMultipleTrait like RelCollation.
EnumerableMergeJoin is the case for RelCollation, and RelDistribution is also fit for SortedMergeJoin in Distributed system