Support INCLUDE'd columns in SP-GiST.
Not much to say here: does what it says on the tin.
We steal a previously-always-zero bit from the nextOffset
field of leaf index tuples in order to track whether there
is a nulls bitmap. Otherwise it works about like included
columns in other index types.
Pavel Borisov, reviewed by Andrey Borodin and Anastasia Lubennikova,
and rather heavily editorialized on by me
Discussion: https://postgr.es/m/CALT9ZEFi-vMp4faht9f9Junb1nO3NOSjhpxTmbm1UGLMsLqiEQ@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/09c1c6ab4bc5764dd69c53ccfd43b2060b1fd090
Modified Files
--------------
doc/src/sgml/indices.sgml | 12 +-
doc/src/sgml/ref/create_index.sgml | 9 +-
doc/src/sgml/spgist.sgml | 8 +
doc/src/sgml/xindex.sgml | 8 +-
src/backend/access/common/indextuple.c | 33 ++-
src/backend/access/spgist/README | 18 +-
src/backend/access/spgist/spgdoinsert.c | 134 ++++++----
src/backend/access/spgist/spginsert.c | 4 +-
src/backend/access/spgist/spgscan.c | 92 +++++--
src/backend/access/spgist/spgutils.c | 284 +++++++++++++++++----
src/backend/access/spgist/spgvacuum.c | 20 +-
src/backend/access/spgist/spgxlog.c | 6 +-
src/include/access/itup.h | 3 +
src/include/access/spgist_private.h | 84 ++++--
.../spgist_name_ops/expected/spgist_name_ops.out | 85 +++---
.../spgist_name_ops/sql/spgist_name_ops.sql | 19 +-
src/test/regress/expected/amutils.out | 2 +-
src/test/regress/expected/create_index_spgist.out | 29 +++
src/test/regress/expected/index_including.out | 3 +-
src/test/regress/sql/create_index_spgist.sql | 9 +
src/test/regress/sql/index_including.sql | 2 +-
21 files changed, 631 insertions(+), 233 deletions(-)