Fix MERGE command tag for actions blocked by BEFORE ROW triggers. This ensures that the row count in the command tag for a MERGE is correctly computed in the case where UPDATEs or DELETEs are skipped due to a BEFORE ROW trigger returning NULL (the INSERT case was already handled correctly by ExecMergeNotMatched() calling ExecInsert()).
Back-patch to v15, where MERGE was introduced. Discussion: https://postgr.es/m/CAEZATCU8XEmR0JWKDtyb7iZ%3DqCffxS9uyJt0iOZ4TV4RT%2Bow1w%40mail.gmail.com Branch ------ REL_15_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/da6257eee35db5d281a115838abaf285b46b52f3 Modified Files -------------- src/backend/executor/nodeModifyTable.c | 10 ++++++---- src/test/regress/expected/merge.out | 15 +++++++++++++++ src/test/regress/sql/merge.sql | 13 +++++++++++++ 3 files changed, 34 insertions(+), 4 deletions(-)