REVIEW Single pass vacuum - take 2
Andy Colson <andy@squeakycode.net>
From: Andy Colson <andy@squeakycode.net>
To: Pavan Deolasee <pavan.deolasee@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-09-07T02:58:48Z
Lists: pgsql-hackers
On 08/22/2011 01:22 AM, Pavan Deolasee wrote: > Hi All, > > Here is a revised patch based on our earlier discussion. I implemented > Robert's idea of tracking the vacuum generation number in the line > pointer itself. For LP_DEAD line pointers, the lp_off/lp_len is unused > (and always set to 0 for heap tuples). We use those 30 bits to store > the generation number of the vacuum which would have potentially > removed the corresponding index pointers, if the vacuum finished > successfully. The pg_class information is used to know the status of > the vacuum, whether it failed or succeeded. 30-bit numbers are large > enough that we can ignore any wrap-around related issues. With this > change, we don't need any additional header or special space in the > page which was one of the main objection to the previous version. > > Other than this major change, I have added code commentary at relevant > places and also fixed the item.h comments to reflect the change. I > think the patch is ready for a serious review now. > > Thanks, > Pavan > Hi Pavan, I tried to apply your patch to git master (as of just now) and it failed. I assume that's what I should be checking out, right? -Andy