fix-multi-freezing.patch

text/plain

Filename: fix-multi-freezing.patch
Type: text/plain
Part: 0
Message: Re: [COMMITTERS] pgsql: Fix freezing of a dead HOT-updated tuple

Patch

Format: unified
File+
src/backend/access/heap/heapam.c 3 0
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index e00dc6c1ca..e68746fc3b 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -5500,7 +5500,10 @@ FreezeMultiXactId(MultiXactId multi, uint16 t_infomask,
 			if (TransactionIdPrecedes(xid, cutoff_xid))
 			{
 				if (TransactionIdDidCommit(xid))
+				{
+					xid = FrozenTransactionId;
 					*flags = FRM_MARK_COMMITTED | FRM_RETURN_IS_XID;
+				}
 				else
 				{
 					*flags |= FRM_INVALIDATE_XMAX;