Replace lateral references to removed rels in subqueries
Alexander Korotkov <akorotkov@postgresql.org>
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
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/optimizer/plan/analyzejoins.c | modified | +76 −71 |
| src/test/regress/expected/join.out | modified | +141 −137 |
| src/test/regress/sql/join.sql | modified | +120 −98 |
Discussion
- Removing unneeded self joins 246 messages · 2018-05-16 → 2025-07-15