mirror of
https://github.com/postgres/postgres.git
synced 2025-08-18 12:22:09 +03:00
Fix MERGE command tag for cross-partition updates.
This ensures that the row count in the command tag for a MERGE is correctly computed. Previously, if MERGE updated a partitioned table, the row count would be incorrect if any row was moved to a different partition, since such updates were counted twice. Back-patch to v15, where MERGE was introduced. Discussion: https://postgr.es/m/CAEZATCWRMG7XX2QEsVL1LswmNo2d_YG8tKTLkpD3=Lp644S7rg@mail.gmail.com
This commit is contained in:
@@ -2889,7 +2889,7 @@ lmerge_matched:;
|
||||
}
|
||||
ExecUpdatePrepareSlot(resultRelInfo, newslot, context->estate);
|
||||
result = ExecUpdateAct(context, resultRelInfo, tupleid, NULL,
|
||||
newslot, mtstate->canSetTag, &updateCxt);
|
||||
newslot, false, &updateCxt);
|
||||
if (result == TM_Ok && updateCxt.updated)
|
||||
{
|
||||
ExecUpdateEpilogue(context, &updateCxt, resultRelInfo,
|
||||
|
Reference in New Issue
Block a user