Support PlaceHolderVars in MERGE actions.
Tom Lane <tgl@sss.pgh.pa.us>
Support PlaceHolderVars in MERGE actions. preprocess_targetlist thought PHVs couldn't appear here. It was mistaken, as per report from Önder Kalacı. Surveying other pull_var_clause calls, I noted no similar errors, but I did notice that qual_is_pushdown_safe's assertion about !contain_window_function was pointless, because the following pull_var_clause call would complain about them anyway. In HEAD only, remove the redundant Assert and improve the commentary. Discussion: https://postgr.es/m/CACawEhUuum-gC_2S3sXLTcsk7bUSPSHOD+g1ZpfKaDK-KKPPWA@mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/optimizer/path/allpaths.c | modified | +5 −7 |
| src/backend/optimizer/prep/preptlist.c | modified | +5 −7 |
| src/test/regress/expected/merge.out | modified | +21 −0 |
| src/test/regress/sql/merge.sql | modified | +10 −0 |
Discussion
- Merge command is erroring with: PlaceHolderVar found where not expected 2 messages · 2023-03-15