pgsql: Support INCLUDE'd columns in SP-GiST.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Support INCLUDE'd columns in SP-GiST.
Date: 2021-04-05 22:42:46
Message-ID: E1lTXvi-00005B-CK@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2021-04-05 22:43:07 Re: pgsql: Refactor all TAP test suites doing connection checks
Previous Message Peter Geoghegan 2021-04-05 21:58:02 pgsql: Propagate parallel VACUUM's buffer access strategy.