• S
    Fallback when citext op non-citext join predicate is present · 3e45f064
    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
CMakeLists.txt 4.8 KB