Re: Bug: When user-defined AM is used, the index path cannot be selected correctly

Поиск
Список
Период
Сортировка
От Quan Zongliang
Тема Re: Bug: When user-defined AM is used, the index path cannot be selected correctly
Дата
Msg-id 7f498182-6736-8fee-d2fe-452e336de795@yeah.net
обсуждение исходный текст
Ответ на Re: Bug: When user-defined AM is used, the index path cannot be selected correctly  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Bug: When user-defined AM is used, the index path cannot be selected correctly  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers

On 2022/8/17 10:03, Tom Lane wrote:
> Quan Zongliang <quanzongliang@yeah.net> writes:
>> 1. When using extended PGroonga
>> ...
>> 3. Neither ID = 'f' nor id= 't' can use the index correctly.
> 
> This works fine for btree indexes.  I think the actual problem
> is that IsBooleanOpfamily only accepts the btree and hash
> opclasses, and that's what needs to be improved.  Your proposed
> patch fails to do that, which makes it just a crude hack that
> solves some aspects of the issue (and probably breaks other
> things).
> 
> It might work to change IsBooleanOpfamily so that it checks to
> see whether BooleanEqualOperator is a member of the opclass.
> That's basically what we need to know before we dare generate
> substitute index clauses.  It's kind of an expensive test
> though, and the existing coding assumes that IsBooleanOpfamily
> is cheap ...
> 
>             regards, tom lane

New patch attached.

It seems that partitions do not use AM other than btree and hash.
Rewrite only indxpath.c and check if it is a custom AM.
Вложения

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

Предыдущее
От: Bharath Rupireddy
Дата:
Сообщение: Re: Generalize ereport_startup_progress infrastructure
Следующее
От: Richard Guo
Дата:
Сообщение: Re: Making Vars outer-join aware