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-0006WI-Tr@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_2_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/44618f92bb3f287124c616cc9d25cce5592c3d2b

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.