-
- Downloads
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
Showing
- doc/src/sgml/indices.sgml 3 additions, 3 deletionsdoc/src/sgml/indices.sgml
- doc/src/sgml/ref/create_index.sgml 4 additions, 4 deletionsdoc/src/sgml/ref/create_index.sgml
- doc/src/sgml/textsearch.sgml 6 additions, 0 deletionsdoc/src/sgml/textsearch.sgml
- src/backend/access/gist/gist.c 36 additions, 5 deletionssrc/backend/access/gist/gist.c
- src/backend/access/gist/gistget.c 5 additions, 3 deletionssrc/backend/access/gist/gistget.c
- src/backend/access/gist/gistscan.c 12 additions, 1 deletionsrc/backend/access/gist/gistscan.c
- src/backend/access/gist/gistsplit.c 7 additions, 7 deletionssrc/backend/access/gist/gistsplit.c
- src/backend/access/gist/gistutil.c 40 additions, 13 deletionssrc/backend/access/gist/gistutil.c
- src/include/access/gist_private.h 3 additions, 1 deletionsrc/include/access/gist_private.h
- src/test/regress/expected/amutils.out 2 additions, 2 deletionssrc/test/regress/expected/amutils.out
- src/test/regress/expected/index_including.out 3 additions, 5 deletionssrc/test/regress/expected/index_including.out
- src/test/regress/expected/index_including_gist.out 166 additions, 0 deletionssrc/test/regress/expected/index_including_gist.out
- src/test/regress/parallel_schedule 1 addition, 1 deletionsrc/test/regress/parallel_schedule
- src/test/regress/serial_schedule 1 addition, 0 deletionssrc/test/regress/serial_schedule
- src/test/regress/sql/index_including.sql 3 additions, 3 deletionssrc/test/regress/sql/index_including.sql
- src/test/regress/sql/index_including_gist.sql 90 additions, 0 deletionssrc/test/regress/sql/index_including_gist.sql
Loading
Please register or sign in to comment