Single pass vacuum - take 2
От | Pavan Deolasee |
---|---|
Тема | Single pass vacuum - take 2 |
Дата | |
Msg-id | CABOikdPhAX5uGugB9RJNSj+zVEYTV8Sn4ctYfcMBc47r6_B2_g@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: Single pass vacuum - take 2
REVIEW Single pass vacuum - take 2 |
Список | pgsql-hackers |
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 -- Pavan Deolasee EnterpriseDB http://www.enterprisedb.com
Вложения
В списке pgsql-hackers по дате отправления: