pgsql: Support for INCLUDE attributes in GiST indexes
От | Alexander Korotkov |
---|---|
Тема | pgsql: Support for INCLUDE attributes in GiST indexes |
Дата | |
Msg-id | E1h2ty7-0005Us-Ez@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Support for INCLUDE attributes in GiST indexes Similarly to B-tree, GiST index access method gets support of INCLUDE attributes. These attributes aren't used for tree navigation and aren't present in non-leaf pages. But they are present in leaf pages and can be fetched during index-only scan. The point of having INCLUDE attributes in GiST indexes is slightly different from the point of having them in B-tree. The main point of INCLUDE attributes in B-tree is to define UNIQUE constraint over part of attributes enabled for index-only scan. In GiST the main point of INCLUDE attributes is to use index-only scan for attributes, whose data types don't have GiST opclasses. Discussion: https://postgr.es/m/73A1A452-AD5F-40D4-BD61-978622FF75C1%40yandex-team.ru Author: Andrey Borodin, with small changes by me Reviewed-by: Andreas Karlsson Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/f2e403803fe6deb8cff59ea09dff42c6163b2110 Modified Files -------------- doc/src/sgml/indices.sgml | 6 +- doc/src/sgml/ref/create_index.sgml | 8 +- doc/src/sgml/textsearch.sgml | 6 + src/backend/access/gist/gist.c | 41 ++++- src/backend/access/gist/gistget.c | 8 +- src/backend/access/gist/gistscan.c | 13 +- src/backend/access/gist/gistsplit.c | 14 +- src/backend/access/gist/gistutil.c | 53 +++++-- src/include/access/gist_private.h | 4 +- src/test/regress/expected/amutils.out | 4 +- src/test/regress/expected/index_including.out | 8 +- src/test/regress/expected/index_including_gist.out | 166 +++++++++++++++++++++ src/test/regress/parallel_schedule | 2 +- src/test/regress/serial_schedule | 1 + src/test/regress/sql/index_including.sql | 6 +- src/test/regress/sql/index_including_gist.sql | 90 +++++++++++ 16 files changed, 382 insertions(+), 48 deletions(-)
В списке pgsql-committers по дате отправления: