Re: Limit GIST_MAX_SPLIT_PAGES to XLR_MAX_BLOCK_ID

From: Gurjeet Singh <gurjeet(at)singh(dot)im>
To: Postgres Hackers <pgsql-hackers(at)postgresql(dot)org>
Cc: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Subject: Re: Limit GIST_MAX_SPLIT_PAGES to XLR_MAX_BLOCK_ID
Date: 2015-10-27 19:48:36
Message-ID: CABwTF4Wdpy69jGiAHQcoUD+dm+agj6oZ-ZM3Dw8Qf9G3VJ6_2w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

(adding Heikki, since that macro was touched by his commit 04e298b8)

Does my previous description of the problem make sense, or am I fretting
over something that's a non-issue.

Best regards,

On Sun, Sep 20, 2015 at 7:03 PM, Gurjeet Singh <gurjeet(at)singh(dot)im> wrote:

> Gin code respects the XLR_MAX_BLOCK_ID when
> calling XLogEnsureRecordSpace(). But it appears that the Gist code does not
> try to limit its block-id consumption to XLR_MAX_BLOCK_ID.
>
> The GIST_MAX_SPLIT_PAGES is hard-coded at 75, but XLogEnsureRecordSpace()
> would reject a request of more than 32 (XLR_MAX_BLOCK_ID).
>
> The attached patch redefines GIST_MAX_SPLIT_PAGES so that in case of a
> split, gistplacetopage() now throws an error when the block-ids needed
> exceed 32.
>
> I have used Min(75, XLR_MAX_BLOCK_ID) as the macro expansion, but I
> believe it can be set to plain XLR_MAX_BLOCK_ID.
>
>
> --
> Gurjeet Singh http://gurjeet.singh.im/
>

--
Gurjeet Singh http://gurjeet.singh.im/

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Josh Berkus 2015-10-27 20:51:45 Re: Rework the way multixact truncations work
Previous Message Nathan Wagner 2015-10-27 19:41:01 Re: fortnight interval support