-
由 Shreedhar Hardikar 提交于
When a query contains a join where one side is distributed on a citext column, and the other isn't, ORCA may generate a plan that redistributes the citext column. However, the redistribution is done using the hash function in citext type's default opclass which may be different than the function used to distribute the other side of the join. Thus, after redistribution the data from the citext-distributed table may end up on the wrong segment, ultimately returning incorrect results. To fix this, ORCA must fully support opclasses in the distribution spec, so that it can pick the correct hash function to redistribute. This commit contains a temporary fix that falls back to planner whenever it encounters a `citext op non-citext` or `non-citext op citext` join predicate, ignore binary coercible casts.
3e45f064