From 63c844a0a5d70cdbd6ae0470d582d39e75ad8d66 Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Mon, 26 Dec 2022 23:36:02 -0800 Subject: [PATCH] Remove overzealous MultiXact freeze assertion. When VACUUM determines that an existing MultiXact should use a freeze plan that sets xmax to InvalidTransactionId, the original Multi may or may not be before OldestMxact. Remove an incorrect assertion that expected it to always be from before OldestMxact. Oversight in commit 4ce3af. Author: Peter Geoghegan Reported-By: Hayato Kuroda Discussion: https://postgr.es/m/TYAPR01MB5866B24104FD80B5D7E65C3EF5ED9@TYAPR01MB5866.jpnprd01.prod.outlook.com --- src/backend/access/heap/heapam.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index 86a88de853..71bd071d2b 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -6615,7 +6615,6 @@ heap_prepare_freeze_tuple(HeapTupleHeader tuple, * it'll leave nothing in xmax (neither an Xid nor a MultiXactId). */ Assert(flags & FRM_INVALIDATE_XMAX); - Assert(MultiXactIdPrecedes(xid, cutoffs->OldestMxact)); Assert(!TransactionIdIsValid(newxmax)); /* Will set t_infomask/t_infomask2 flags in freeze plan below */