Re: pgsql: Fix handling of all-zero pages in SP-GiST vacuum.

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Fix handling of all-zero pages in SP-GiST vacuum.
Date: 2015-07-27 15:55:45
Message-ID: 55B65481.1040100@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On 07/27/2015 06:36 PM, Tom Lane wrote:
> Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi> writes:
>> Fix handling of all-zero pages in SP-GiST vacuum.
>
> I'm a little bit uncomfortable with the way that this patch presumes that
> PageIsEmpty (a) is safe on an all-zeroes page and (b) will return true for
> such a page. Yes, it does work at the moment; but I don't think we are
> making such an assumption anyplace else, and in view of your other two
> concurrent patches, it doesn't seem very future-proof here either.
> I recommend that the code look more like
>
> if (!SpGistBlockIsRoot(blkno))
> {
> if (PageIsNew(page) || PageIsEmpty(page))
>

I thought I saw other places that assumed that, and I even thought I saw
a comment somewhere documenting that usage. But now that I grep around,
I see no such thing.

I'll go change that...

- Heikki

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2015-07-27 16:32:35 Re: pgsql: Improve LWLock scalability.
Previous Message Heikki Linnakangas 2015-07-27 15:55:42 pgsql: Don't assume that PageIsEmpty() returns true on an all-zeros pag