Re: pgsql: Add functions to 'pageinspect' to inspect GiST indexes. - Mailing list pgsql-committers

From Andrey Borodin
Subject Re: pgsql: Add functions to 'pageinspect' to inspect GiST indexes.
Date
Msg-id E0794687-7315-4C29-A9C7-EC54D448596D@yandex-team.ru
Whole thread Raw
In response to Re: pgsql: Add functions to 'pageinspect' to inspect GiST indexes.  (Peter Geoghegan <pg@bowt.ie>)
Responses Re: pgsql: Add functions to 'pageinspect' to inspect GiST indexes.  (Peter Geoghegan <pg@bowt.ie>)
List pgsql-committers

> 12 февр. 2021 г., в 01:53, Peter Geoghegan <pg@bowt.ie> написал(а):
>
> On Wed, Jan 13, 2021 at 12:36 AM Heikki Linnakangas
> <heikki.linnakangas@iki.fi> wrote:
>> Add functions to 'pageinspect' to inspect GiST indexes.
>
> Is gist_page_items() robust with deleted pages? I think that it's
> unsafe to assume that deleted pages will have index tuples, since the
> page contents will actually be a GISTDeletedPageContents.
>
> Simplest fix would be to assume maxoff is 0 for the page, perhaps.
> Right now we just use PageGetMaxOffsetNumber(), which implicitly
> assumes that the page uses slotted tuples with an array of line
> pointers (actually it can also deal with a zeroed page, but that's not
> relevant here).


Thanks, Peter! I agree that taking PageGetMaxOffsetNumber() seems
incorrect for deleted page, because we set pd_lower for the deleted page.
Also, there was an idea to add a column for LP_DEAD.
As long as we are dealing with deleted data anyway, maybe let's add this column?
PFW both patches.

Thanks!

Best regards, Andrey Borodin.

Attachment

pgsql-committers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: pgsql: Allow multiple xacts during table sync in logical replication.
Next
From: Alexander Korotkov
Date:
Subject: pgsql: pg_attribute_no_sanitize_alignment() macro