Prevent Parallel Hash Join for JOIN_UNIQUE_INNER.
authorThomas Munro <tmunro@postgresql.org>
Tue, 18 Jun 2019 10:38:30 +0000 (22:38 +1200)
committerThomas Munro <tmunro@postgresql.org>
Tue, 18 Jun 2019 14:13:52 +0000 (02:13 +1200)
commit14d8b539d3bd4cf9faf65ca86a733bada202107f
tree5e6d8f501f6c0bcb5db8117657ee9bc3731578d1
parente5f26d79badfae8018ac70f2137158fe36246c2b
Prevent Parallel Hash Join for JOIN_UNIQUE_INNER.

WHERE EXISTS (...) queries cannot be executed by Parallel Hash Join
with jointype JOIN_UNIQUE_INNER, because there is no way to make a
partial plan totally unique.  The consequence of allowing such plans
was duplicate results from some EXISTS queries.

Back-patch to 11.  Bug #15857.

Author: Thomas Munro
Reviewed-by: Tom Lane
Reported-by: Vladimir Kriukov
Discussion: https://postgr.es/m/15857-d1ba2a64bce0795e%40postgresql.org
src/backend/optimizer/path/joinpath.c