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 <t...@sss.pgh.pa.us>
Reviewed-by: Arseniy Mukhin <arseniy.mukhin....@gmail.com>
Discussion: https://postgr.es/m/262624.1738460...@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(-)

Reply via email to