Add stratnum GiST support function
This is support function 12 for the GiST AM and translates
"well-known" RT*StrategyNumber values into whatever strategy number is
used by the opclass (since no particular numbers are actually
required). We will use this to support temporal PRIMARY
KEY/UNIQUE/FOREIGN KEY/FOR PORTION OF functionality.
This commit adds two implementations, one for internal GiST opclasses
(just an identity function) and another for btree_gist opclasses. It
updates btree_gist from 1.7 to 1.8, adding the support function for
all its opclasses.
(previously committed as 6db4598fcb8, reverted by 8aee330af55; this is
essentially unchanged from those)
Author: Paul A. Jungwirth <pj@illuminatedcomputing.com>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Reviewed-by: jian he <jian.universality@gmail.com>
Discussion:
https://www.postgresql.org/message-id/flat/CA+renyUApHgSZF9-nd-a0+OPGharLQLO=mDHcY4_qQ0+noCUVg@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/7406ab623fee1addcb21c881afecbe638a0d56e9
Modified Files
--------------
contrib/btree_gist/Makefile | 6 +-
contrib/btree_gist/btree_gist--1.7--1.8.sql | 87 ++++++++++++++++++++++++++++
contrib/btree_gist/btree_gist.c | 27 +++++++++
contrib/btree_gist/btree_gist.control | 2 +-
contrib/btree_gist/expected/stratnum.out | 13 +++++
contrib/btree_gist/meson.build | 2 +
contrib/btree_gist/sql/stratnum.sql | 3 +
doc/src/sgml/gist.sgml | 65 ++++++++++++++++++++-
doc/src/sgml/xindex.sgml | 8 ++-
src/backend/access/gist/gistutil.c | 14 +++++
src/backend/access/gist/gistvalidate.c | 8 ++-
src/include/access/gist.h | 3 +-
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_amproc.dat | 18 ++++++
src/include/catalog/pg_proc.dat | 6 ++
src/test/regress/expected/misc_functions.out | 13 +++++
src/test/regress/sql/misc_functions.sql | 4 ++
17 files changed, 273 insertions(+), 8 deletions(-)