pgsql: Add cross-type comparisons to contrib/btree_gin.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add cross-type comparisons to contrib/btree_gin.
Date: 2025-07-03 20:30:46
Message-ID: E1uXQZy-004ZLl-1t@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(at)sss(dot)pgh(dot)pa(dot)us>
Reviewed-by: Arseniy Mukhin <arseniy(dot)mukhin(dot)dev(at)gmail(dot)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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2025-07-03 21:40:26 pgsql: Simplify COALESCE() with one surviving argument.
Previous Message Tom Lane 2025-07-03 17:46:31 pgsql: Obtain required table lock during cross-table updates, redux.