Thread: pgsql: Replace lateral references to removed rels in subqueries
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(-)