Re: HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts
| От | Tom Lane |
|---|---|
| Тема | Re: HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts |
| Дата | |
| Msg-id | 17713.1318878230@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts (Alvaro Herrera <alvherre@alvh.no-ip.org>) |
| Ответы |
Re: HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong
thing with multixacts
Re: HeapTupleHeaderAdvanceLatestRemovedXid doing the wrong thing with multixacts |
| Список | pgsql-hackers |
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> 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.
If it's failing to even check XMAX_INVALID, surely it's completely
broken? Perhaps it assumes its caller has checked all this?
regards, tom lane
В списке pgsql-hackers по дате отправления: