Tom Lane wrote:
> Simon Riggs <simon@2ndquadrant.com> writes:
>> On Tue, 2007-09-11 at 01:22 +0530, Pavan Deolasee wrote:
>>> I think the only difference is that the quick pruning does not mark
>>> intermediate tuples ~LP_USED and hence we may avoid WAL logging.
>
>> Sounds great.
>
> What it sounds is utterly unsafe. You can get away with not WAL-logging
> individual bit flips (that is, hint-bit-setting) because either state of
> the page is valid. If I read this proposal correctly it is to change
> t_ctid without WAL-logging, which means that a partial page write (torn
> page syndrome) could leave the page undetectably corrupted --- t_ctid
> is 6 bytes and could easily cross a hardware sector boundary.
We're only changing the offsetnumber part of it, which is 2 bytes. That
shouldn't cross a hardware sector boundary on any reasonable hardware.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com