diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2023-06-08 17:10:04 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2023-06-08 17:10:04 -0400 |
commit | 9a2dbc614e6e47da3c49daacec106da32eba9467 (patch) | |
tree | 74be715c7b0d9a98d12390ba5a98d4591bfd4a8d /src/backend/executor/nodeModifyTable.c | |
parent | fbf80421ead55deaafbefa808960a2695de492c9 (diff) | |
download | postgresql-9a2dbc614e6e47da3c49daacec106da32eba9467.tar.gz postgresql-9a2dbc614e6e47da3c49daacec106da32eba9467.zip |
Fix oversight in outer join removal.
A placeholder that references the outer join's relid in ph_eval_at
is logically "above" the join, and therefore we can't remove its
PlaceHolderInfo: it might still be used somewhere in the query.
This was not an issue pre-v16 because we failed to remove the join
at all in such cases. The new outer-join-aware-Var infrastructure
permits deducing that it's okay to remove the join, but then we
have to clean up correctly afterwards.
Report and fix by Richard Guo
Discussion: https://postgr.es/m/CAMbWs4_tuVn9EwwMcggGiZJWWstdXX_ci8FeEU17vs+4nLgw3w@mail.gmail.com
Diffstat (limited to 'src/backend/executor/nodeModifyTable.c')
0 files changed, 0 insertions, 0 deletions