Support INCLUDE'd columns in SP-GiST.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 5 Apr 2021 22:41:09 +0000 (18:41 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 5 Apr 2021 22:41:21 +0000 (18:41 -0400)
commit09c1c6ab4bc5764dd69c53ccfd43b2060b1fd090
tree0b5eacefe5007d52388f475499b018cccd228c0e
parent49f49defe7c0a330cca084de5da14ccdfdafc6a3
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
21 files changed:
doc/src/sgml/indices.sgml
doc/src/sgml/ref/create_index.sgml
doc/src/sgml/spgist.sgml
doc/src/sgml/xindex.sgml
src/backend/access/common/indextuple.c
src/backend/access/spgist/README
src/backend/access/spgist/spgdoinsert.c
src/backend/access/spgist/spginsert.c
src/backend/access/spgist/spgscan.c
src/backend/access/spgist/spgutils.c
src/backend/access/spgist/spgvacuum.c
src/backend/access/spgist/spgxlog.c
src/include/access/itup.h
src/include/access/spgist_private.h
src/test/modules/spgist_name_ops/expected/spgist_name_ops.out
src/test/modules/spgist_name_ops/sql/spgist_name_ops.sql
src/test/regress/expected/amutils.out
src/test/regress/expected/create_index_spgist.out
src/test/regress/expected/index_including.out
src/test/regress/sql/create_index_spgist.sql
src/test/regress/sql/index_including.sql