]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix some planner issues with degenerate outer join clauses.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 2 Aug 2015 00:57:41 +0000 (20:57 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 2 Aug 2015 00:57:41 +0000 (20:57 -0400)
commit44679965f0bdf42275a567751fdddfe759795ee4
treec5a6c614de408759a85b140507ea54c34aef74cc
parent54833c5e772ee0e8461269e1b40ab6b9fae4b1cd
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.
src/backend/optimizer/path/joinrels.c
src/backend/optimizer/plan/initsplan.c
src/test/regress/expected/join.out
src/test/regress/sql/join.sql