Re: [HACKERS] Secondary index access optimizations
От | Konstantin Knizhnik |
---|---|
Тема | Re: [HACKERS] Secondary index access optimizations |
Дата | |
Msg-id | 083fc870-d4ab-f8df-a750-340297a9f498@postgrespro.ru обсуждение исходный текст |
Ответ на | Re: [HACKERS] Secondary index access optimizations (Antonin Houska <ah@cybertec.at>) |
Ответы |
Re: [HACKERS] Secondary index access optimizations
|
Список | pgsql-hackers |
On 19.01.2018 16:14, Antonin Houska wrote: > Konstantin Knizhnik <k.knizhnik@postgrespro.ru> wrote: > >> On 11.01.2018 12:34, Antonin Houska wrote: >>> Konstantin Knizhnik <k.knizhnik@postgrespro.ru> wrote: >>> I haven't thought that much about details, so just one comment: you shouldn't >>> need the conversion to text and back to binary form. utils/adt/rangetypes.c >>> contains constructors that accept the binary values. >>> >> Attached please find new version of the patch which uses range type to >> interval matching in operator_predicate_proof function. > I think that instead of checking the operator name, e.g. > > strcmp(oprname, "<") > > you should test the operator B-tree strategy: BTLessStrategyNumber, > BTLessEqualStrategyNumber, etc. The operator string alone does not tell enough > about the operator semantics. > > The strategy can be found in the pg_amop catalog. > get_op_btree_interpretation() function may be useful, but there may be > something better in utils/cache/lsyscache.c. > Thank you very much. Shame on me that I didn't notice such solution myself - such checking of B-tree strategy is done in the same predtest.c file! Now checking of predicate clauses compatibility is done in much more elegant and general way. Attached please find new version of the patch. -- Konstantin Knizhnik Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
Вложения
В списке pgsql-hackers по дате отправления: