pgsql: Ensure dummy paths have correct required_outer if rel is paramet

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Ensure dummy paths have correct required_outer if rel is paramet
Date: 2019-03-14 16:16:49
Message-ID: E1h4T2H-0004FT-Rm@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0a9d7e1f6d814799e6cd5046513702dd1fe38929

Modified Files
--------------
src/backend/optimizer/path/allpaths.c | 3 ++-
src/backend/optimizer/path/joinrels.c | 3 ++-
src/test/regress/expected/join.out | 29 +++++++++++++++++++++++++++++
src/test/regress/sql/join.sql | 8 ++++++++
4 files changed, 41 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2019-03-14 19:08:16 Re: pgsql: Add support for hyperbolic functions, as well as log10().
Previous Message Robert Haas 2019-03-14 16:15:11 pgsql: Defend against leaks into RelationBuildPartitionDesc.