pgsql: Fix some planner issues with degenerate outer join clauses. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix some planner issues with degenerate outer join clauses.
Date
Msg-id E1ZLhbI-0006WG-Td@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix some planner issues with degenerate outer join clauses.

An outer join clause that didn't actually reference the RHS (perhaps only
after constant-folding) could confuse the join order enforcement logic,
leading to wrong query results.  Also, nested occurrences of such things
could trigger an Assertion that on reflection seems incorrect.

Per fuzz testing by Andreas Seltenreich.  The practical use of such cases
seems thin enough that it's not too surprising we've not heard field
reports about it.

This has been broken for a long time, so back-patch to all active branches.

Branch
------
REL9_3_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/1044541dccfed0da1f27b2b8929e9524a1f577b4

Modified Files
--------------
src/backend/optimizer/path/joinrels.c  |   26 ++++---
src/backend/optimizer/plan/initsplan.c |   18 ++++-
src/test/regress/expected/join.out     |  129 ++++++++++++++++++++++++++++++++
src/test/regress/sql/join.sql          |   50 +++++++++++++
4 files changed, 211 insertions(+), 12 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Fix some planner issues with degenerate outer join clauses.
Next
From: Tom Lane
Date:
Subject: pgsql: Fix some planner issues with degenerate outer join clauses.