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 <pg@bowt.ie>
Reported-By: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Discussion: https://postgr.es/m/TYAPR01MB5866B24104FD80B5D7E65C3EF5ED9@TYAPR01MB5866.jpnprd01.prod.outlook.com
pull/111/head
Peter Geoghegan 3 years ago
parent 9814ff5500
commit 63c844a0a5
  1. 1
      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 */

Loading…
Cancel
Save