Add cross-type comparisons to contrib/btree_gin.
Extend the infrastructure in btree_gin.c to permit cross-type
operators, and add the code to support them for the int2, int4,
and int8 opclasses. (To keep this patch digestible, I left
the other datatypes for a separate patch.) This improves the
usability of btree_gin indexes by allowing them to support the
same set of queries that a regular btree index does.
Author: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Arseniy Mukhin <arseniy.mukhin.dev@gmail.com>
Discussion: https://postgr.es/m/262624.1738460652@sss.pgh.pa.us
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/e2b64fcef35f70f96fa92db56fbfa9ac2da136c7
Modified Files
--------------
contrib/btree_gin/Makefile | 2 +-
contrib/btree_gin/btree_gin--1.3--1.4.sql | 63 ++++
contrib/btree_gin/btree_gin.c | 479 +++++++++++++++++++++++++-----
contrib/btree_gin/btree_gin.control | 2 +-
contrib/btree_gin/expected/int2.out | 190 ++++++++++++
contrib/btree_gin/expected/int4.out | 100 +++++++
contrib/btree_gin/expected/int8.out | 100 +++++++
contrib/btree_gin/meson.build | 1 +
contrib/btree_gin/sql/int2.sql | 35 +++
contrib/btree_gin/sql/int4.sql | 18 ++
contrib/btree_gin/sql/int8.sql | 18 ++
doc/src/sgml/gin.sgml | 6 +-
src/tools/pgindent/typedefs.list | 2 +
13 files changed, 931 insertions(+), 85 deletions(-)