Re: Bug in autovacuum.c?
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Alvaro Herrera <alvherre@commandprompt.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-05-07T19:29:28Z
Lists: pgsql-hackers
Tom Lane wrote: > Robert Haas <robertmhaas@gmail.com> writes: > > On Fri, Apr 1, 2011 at 5:48 PM, Bruce Momjian <bruce@momjian.us> wrote: > >> Agreed it is not worth it but I think we should at least C comment > >> something. I think at a minimum we should set it to > >> FirstNormalTransactionId. > > > I think you should leave it well enough alone. > > Yes. The point of the existing coding is to ensure that we don't > overestimate the table age at which vacuums should be forced. > Bruce's proposed change would move the inaccuracy in the wrong > direction, and thus cause some cases to not force autovac though an > exact calculation would have done so. It's not worth trying to be > exactly correct here, but I don't think that we want to err in > that direction. > > If we had a symbol for the max normal XID, we could instead code > like this: > > if (xidForceLimit < FirstNormalTransactionId) > xidForceLimit = LastNormalTransactionId; > > But AFAIR we don't, and I don't especially want to introduce one, > because people might be misled by it. As you mentioned earlier, > the XID space is circular so there isn't really a "last" XID. Sorry for the late reply but it seems HighestNormalTransactionId might be an apporopriate name. However, it is not code I normally deal with so unless someone who works in this area wants to make this cleanup, I will ignore the issue. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +