Teach query_tree_walker, query_tree_mutator, and SS_finalize_plan to
Tom Lane <tgl@sss.pgh.pa.us>
Teach query_tree_walker, query_tree_mutator, and SS_finalize_plan to process function RTE expressions, which they were previously missing. This allows outer-Var references and subselects to work correctly in the arguments of a function RTE. Install check to prevent function RTEs from cross-referencing Vars of sibling FROM-items, which doesn't make any sense (if you want to join, write a JOIN or WHERE clause).
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/optimizer/plan/planner.c | modified | +2 −2 |
| src/backend/optimizer/plan/subselect.c | modified | +36 −22 |
| src/backend/optimizer/util/clauses.c | modified | +10 −3 |
| src/backend/parser/parse_clause.c | modified | +36 −11 |
| src/include/optimizer/subselect.h | modified | +1 −1 |