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
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/e3ac85014eb280ee2e82b36dc3be1b62c838b3e4
Modified Files
--------------
src/backend/optimizer/path/allpaths.c | 12 +++++-------
src/backend/optimizer/prep/preptlist.c | 12 +++++-------
src/test/regress/expected/merge.out | 21 +++++++++++++++++++++
src/test/regress/sql/merge.sql | 10 ++++++++++
4 files changed, 41 insertions(+), 14 deletions(-)