HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts - Mailing list pgsql-hackers

From Alvaro Herrera
Subject HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts
Date
Msg-id 1318876416.4e9c75001bfc7@webmail.no-ip.com
Whole thread Raw
Responses Re: HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
I just noticed that HeapTupleHeaderAdvanceLatestRemovedXid is comparing Xmax as a TransactionId without verifying
whetherit is a multixact or not.  Since they advance separately, this could lead to bogus answers.  This probably needs
tobe fixed.  I didn't look into past releases to see if there's a live released bug here or not. 

I think the fix is simply to ignore the Xmax if the HEAP_XMAX_IS_MULTI bit is set.

Additionally I think it should check HEAP_XMAX_INVALID before reading the Xmax at all.

--
Álvaro Herrera (from some crappy webmail)


pgsql-hackers by date:

Previous
From: Shigeru Hanada
Date:
Subject: Re: WIP: Collecting statistics on CSV file data
Next
From: Tom Lane
Date:
Subject: Re: HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts