git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: a0b7626) | patch
Support for INCLUDE attributes in GiST indexes
2019年3月10日 08:36:47 +0000 (11:36 +0300)
2019年3月10日 08:37:17 +0000 (11:37 +0300)
commit f2e403803fe6deb8cff59ea09dff42c6163b2110
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
16 files changed:
doc/src/sgml/indices.sgml diff | blob | blame | history
doc/src/sgml/ref/create_index.sgml diff | blob | blame | history
doc/src/sgml/textsearch.sgml diff | blob | blame | history
src/backend/access/gist/gist.c diff | blob | blame | history
src/backend/access/gist/gistget.c diff | blob | blame | history
src/backend/access/gist/gistscan.c diff | blob | blame | history
src/backend/access/gist/gistsplit.c diff | blob | blame | history
src/backend/access/gist/gistutil.c diff | blob | blame | history
src/include/access/gist_private.h diff | blob | blame | history
src/test/regress/expected/amutils.out diff | blob | blame | history
src/test/regress/expected/index_including.out diff | blob | blame | history
src/test/regress/expected/index_including_gist.out [new file with mode: 0644] blob
src/test/regress/parallel_schedule diff | blob | blame | history
src/test/regress/serial_schedule diff | blob | blame | history
src/test/regress/sql/index_including.sql diff | blob | blame | history
src/test/regress/sql/index_including_gist.sql [new file with mode: 0644] blob
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /