Thread: pgsql: Ensure dummy paths have correct required_outer if rel isparamet
Ensure dummy paths have correct required_outer if rel is parameterized. The assertions added by commits 34ea1ab7f et al found another problem: set_dummy_rel_pathlist and mark_dummy_rel were failing to label the dummy paths they create with the correct outer_relids, in case the relation is necessarily parameterized due to having lateral references in its tlist. It's likely that this has no user-visible consequences in production builds, at the moment; but still an assertion failure is a bad thing, so back-patch the fix. Per bug #15694 from Roman Zharkov (via Alexander Lakhin) and an independent report by Tushar Ahuja. Discussion: https://postgr.es/m/15694-74f2ca97e7044f7f@postgresql.org Discussion: https://postgr.es/m/7d72ab20-c725-3ce2-f99d-4e64dd8a0de6@enterprisedb.com Branch ------ REL9_4_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/98f8ffa18ebe5d9cda40314002432635990c5b1d Modified Files -------------- src/backend/optimizer/path/allpaths.c | 3 ++- src/backend/optimizer/path/joinrels.c | 3 ++- src/test/regress/expected/join.out | 31 +++++++++++++++++++++++++++++++ src/test/regress/sql/join.sql | 8 ++++++++ 4 files changed, 43 insertions(+), 2 deletions(-)