Re: found xmin from before relfrozenxid on pg_catalog.pg_authid
От | Andres Freund |
---|---|
Тема | Re: found xmin from before relfrozenxid on pg_catalog.pg_authid |
Дата | |
Msg-id | 20180525203817.h66p72tmmmo53t6h@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: found xmin from before relfrozenxid on pg_catalog.pg_authid (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Ответы |
Re: found xmin from before relfrozenxid on pg_catalog.pg_authid
|
Список | pgsql-general |
On 2018-05-24 16:46:24 -0400, Alvaro Herrera wrote: > On 2018-May-24, Andres Freund wrote: > > > On 2018-05-24 13:08:53 -0400, Alvaro Herrera wrote: > > > Hmm .. surely > > > > xid = HeapTupleHeaderGetXmin(tuple); > > > xmin_frozen = ((xid == FrozenTransactionId) || > > > HeapTupleHeaderXminFrozen(tuple)); > > > - if (TransactionIdIsNormal(xid)) > > > + if (!xmin_frozen && TransactionIdIsNormal(xid)) > > > I don't think that's necesary - HeapTupleHeaderGetXmin() returns > > FrozenTransactionId if the tuple is frozen (note the > > HeapTupleHeaderXminFrozen() within). > > Ah, yeah ... I probably thought about this when writing it and removed > it for that reason. > > BTW I think the definition of HeapTupleHeaderXminFrozen is seriously > confusing, by failing to return true if the xmin is numerically > FrozenXid (which it'll be if the database was pg_upgraded). I wonder > about this one in HeapTupleSatisfiesMVCC: I suggest raising this on -hackers. I agree that it's unfortunate. Greetings, Andres Freund
В списке pgsql-general по дате отправления: