Re: Bug in autovacuum.c? - Mailing list pgsql-hackers

From Robert Haas
Subject Re: Bug in autovacuum.c?
Date
Msg-id AANLkTin9FMR=9FwJAhaWptF2xAagA8yy6=QBLFEC-5gq@mail.gmail.com
Whole thread Raw
In response to Re: Bug in autovacuum.c?  (Bruce Momjian <bruce@momjian.us>)
Responses Re: Bug in autovacuum.c?
List pgsql-hackers
On Thu, Mar 31, 2011 at 2:59 PM, Bruce Momjian <bruce@momjian.us> wrote:
> Bruce Momjian wrote:
>> > Yeah, I think this change would have the effect of moving the freeze
>> > limit by one (or two?) counts.  Given the moving nature of values
>> > returned by ReadNewTransactionId this would probably have no practical
>> > effect.  Still, the code as is seems more natural to me (Tom wrote this
>> > bit IIRC, not me).
>>
>> I am now thinking the code is correct --- it maps values from 0 to
>> FirstNormalTransactionId into the top of the (unsigned) xid range.
>> Unless someone objects, I will add a C comment about this behavior so
>> future readers are not confused.
>
> OK, now I think it is wrong.   :-)
>
> The effect is to map max xid + 1 to max xid -
> FirstNormalTransactionId(3) + 1, which makes the xid look like it is
> going backwards, less than max xid --- not good.

The XID space is *circular*.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: SSI bug?
Next
From: Peter Eisentraut
Date:
Subject: Windows build issues