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
|
| Список | 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 по дате отправления: