Re: Decouple operator classes from index access methods

Поиск
Список
Период
Сортировка
От Emre Hasegeli
Тема Re: Decouple operator classes from index access methods
Дата
Msg-id CAE2gYzwY3LHoJv43tubEY7Rr0QufUmwd_xLOcONsC5MZWMz5xQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Decouple operator classes from index access methods  (Alexander Korotkov <aekorotkov@gmail.com>)
Ответы Re: Decouple operator classes from index access methods  (Alexander Korotkov <aekorotkov@gmail.com>)
Список pgsql-hackers
> In future we could have, for instance, LSM or in-memory B-tree or
> other index AM, which could use existing B-tree or hash opclasses.

This would be easily possible with my patch:

CREATE ACCESS METHOD inmemorybtree
TYPE INDEX HANDLER imbthandler
IMPLEMENTS (ordering);

> But even now, we could use this decoupling to get rid of ugly
> btree_gist and btree_gin.  And also solve the extensibility problem
> here.  If an extension provides datatype with B-tree opclass, we
> currently can't directly use it with GiST and GIN.  So, in order to
> provide B-tree-like indexing for GiST and GIN, an extension needs to
> explicitly define GiST and GIN B-tree-like opclasses.

This would also be possible if we move btree_gist and btree_gin
support functions inside gist and gin access methods.  The access
method support functions get the operator family.  They can find which
access method this operator family belongs to, and call the
appropriate functions if it is "ordering".



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

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: Using indexUnchanged with nbtree
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Doc chapter for Hash Indexes