On Thu, May 26, 2011 at 8:57 AM, Pavan Deolasee
<pavan.deola...@gmail.com> wrote:
> On Thu, May 26, 2011 at 4:10 PM, Pavan Deolasee
> <pavan.deola...@gmail.com> wrote:
>> On Thu, May 26, 2011 at 9:40 AM, Robert Haas <robertmh...@gmail.com> wrote:
>>
>>> Currently, I believe the only way a page can get marked all-visible is
>>> by vacuum.  But if we make this change, then it would be possible for
>>> a HOT cleanup to encounter a situation where all-visible could be set.
>>>  We probably want to make that work.
>>>
>>
>> Yes. Thats certainly an option.
>
> BTW, I just realized that this design would expect the visibility map
> to be always correct or at least it should always correctly report a
> page having dead line pointers. We would expect the index vacuum to
> clean  index pointers to *all* dead line pointers because once the
> index vacuum is complete, other backends or next heap vacuum may
> remove any of those old dead line pointers assuming that index vacuum
> would have taken care of the index pointers.
>
> IOW, the visibility map bit must always be clear when there are dead
> line pointers on the page. Do we guarantee that today ? I think we do,
> but the comment in the source file is not affirmative.

It can end up in the wrong state after a crash.  I have a patch to try
to fix that, but I need someone to review it.  (*looks meaningfully at
Heikki, coughs loudly*)

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

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to