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 <p...@illuminatedcomputing.com> Reviewed-by: Peter Eisentraut <pe...@eisentraut.org> Reviewed-by: jian he <jian.universal...@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/CA+renyUApHgSZF9-nd-a0+OPGharLQLO=mdhcy4_qq0+noc...@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(-)