pgsql: Replace lateral references to removed rels in subqueries

From: Alexander Korotkov <akorotkov(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Replace lateral references to removed rels in subqueries
Date: 2024-02-23 22:35:31
Message-ID: E1rde8h-000OlU-FB@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Replace lateral references to removed rels in subqueries

This commit introduces a new field 'sublevels_up' in ReplaceVarnoContext,
and enhances replace_varno_walker() to:
1) recurse into subselects with sublevels_up increased, and
2) perform the replacement only when varlevelsup is equal to sublevels_up.

This commit also fixes some outdated comments. And besides adding relevant
test cases, it makes some unification over existing SJE test cases.

Discussion: https://postgr.es/m/CAMbWs4-%3DPO6Mm9gNnySbx0VHyXjgnnYYwbN9dth%3DTLQweZ-M%2Bg%40mail.gmail.com
Author: Richard Guo
Reviewed-by: Andrei Lepikhov, Alexander Korotkov

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/466979ef031afff000f3f92b812b946cf3a416c1

Modified Files
--------------
src/backend/optimizer/plan/analyzejoins.c | 147 ++++++++--------
src/test/regress/expected/join.out | 278 +++++++++++++++---------------
src/test/regress/sql/join.sql | 218 ++++++++++++-----------
3 files changed, 337 insertions(+), 306 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alexander Korotkov 2024-02-23 23:49:45 pgsql: Multiple revisions to the GROUP BY reordering tests
Previous Message Tom Lane 2024-02-23 20:22:08 pgsql: Avoid dangling-pointer problem with partitionwise joins under GE