Thread: pgsql: Fix MERGE command tag for actions blocked by BEFORE ROW triggers

pgsql: Fix MERGE command tag for actions blocked by BEFORE ROW triggers

From
Dean Rasheed
Date:
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(-)