Limit GIST_MAX_SPLIT_PAGES to XLR_MAX_BLOCK_ID

Поиск
Список
Период
Сортировка
От Gurjeet Singh
Тема Limit GIST_MAX_SPLIT_PAGES to XLR_MAX_BLOCK_ID
Дата
Msg-id CABwTF4UB5OgwBQb8Yj7=qXXb69qjFq5aVENamSbz4LA+Sw4eEw@mail.gmail.com
обсуждение исходный текст
Ответы Re: Limit GIST_MAX_SPLIT_PAGES to XLR_MAX_BLOCK_ID  (Gurjeet Singh <gurjeet@singh.im>)
Список pgsql-hackers
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.


--
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: RFC: replace pg_stat_activity.waiting with something more descriptive
Следующее
От: Robert Haas
Дата:
Сообщение: Re: row_security GUC, BYPASSRLS