Thread: pgsql: Refactor join_is_removable() to separate out distinctness-provin

Refactor join_is_removable() to separate out distinctness-proving logic.

Extracted from pending unique-join patch, since this is a rather large
delta but it's simply moving code out into separately-accessible
subroutines.

I (tgl) did choose to add a bit more logic to rel_supports_distinctness,
so that it verifies that there's at least one potentially usable unique
index rather than just checking indexlist != NIL.  Otherwise there's
no functional change here.

David Rowley

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/f338dd7585cab45da9053e883ad65a440a99d3be

Modified Files
--------------
src/backend/optimizer/plan/analyzejoins.c | 244 +++++++++++++++++++-----------
1 file changed, 157 insertions(+), 87 deletions(-)