Re: Freeze avoidance of very large table. - Mailing list pgsql-hackers

From Masahiko Sawada
Subject Re: Freeze avoidance of very large table.
Date
Msg-id CAD21AoDDY6QGxz49qv072oWw6RsMLyd67Db7Rf-FNHSeRcd65Q@mail.gmail.com
Whole thread Raw
In response to Re: Freeze avoidance of very large table.  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Freeze avoidance of very large table.
List pgsql-hackers
On Sat, Oct 3, 2015 at 3:41 AM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Fri, Oct 2, 2015 at 11:23 AM, Alvaro Herrera
> <alvherre@2ndquadrant.com> wrote:
>>> +             /* all-frozen information is also cleared at the same time */
>>>               PageClearAllVisible(page);
>>> +             PageClearAllFrozen(page);
>>
>> I wonder if it makes sense to have a macro to clear both in unison,
>> which seems a very common pattern.
>
> I think PageClearAllVisible should clear both, and there should be no
> other macro.  There is no event that causes a page to cease being
> all-visible that does not also cause it to cease being all-frozen.
> You might think that deleting or locking a tuple would fall into that
> category - but nope, XMAX needs to be cleared or the tuple pruned, or
> there will be problems after wraparound.
>

Thank you for your advice.
I understood.

I changed the patch so that PageClearAllVisible clear both bits, and
removed ClearAllFrozen.
Attached the latest v16 patch which contains draft version documentation patch.

Regards,

--
Masahiko Sawada

Attachment

pgsql-hackers by date:

Previous
From: Kyotaro HORIGUCHI
Date:
Subject: Re: Connection string parameter 'replication' in documentation
Next
From: Magnus Hagander
Date:
Subject: Re: No Issue Tracker - Say it Ain't So!]