pgsql: Add support for sorted gist index builds to btree_gist

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add support for sorted gist index builds to btree_gist
Date: 2025-04-03 10:59:00
Message-ID: E1u0IHk-002S8I-37@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add support for sorted gist index builds to btree_gist

This enables sortsupport in the btree_gist extension for faster builds
of gist indexes.

Sorted gist index build strategy is the new default now. Regression
tests are unchanged (except for one small change in the 'enum' test to
add coverage for enum values added later) and are using the sorted
build strategy instead.

One version of this was committed a long time ago already, in commit
9f984ba6d2, but it was quickly reverted because of buildfarm
failures. The failures were presumably caused by some small bugs, but
we never got around to debug and commit it again. This patch was
written from scratch, implementing the same idea, with some fragments
and ideas from the original patch.

Author: Bernd Helmle <mailings(at)oopsware(dot)de>
Author: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Discussion: https://www.postgresql.org/message-id/64d324ce2a6d535d3f0f3baeeea7b25beff82ce4.camel@oopsware.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/e4309f73f698851a2f7d49ca5e98e3e188400891

Modified Files
--------------
contrib/btree_gist/Makefile | 2 +-
contrib/btree_gist/btree_bit.c | 46 +++++++
contrib/btree_gist/btree_bool.c | 23 ++++
contrib/btree_gist/btree_bytea.c | 34 +++++
contrib/btree_gist/btree_cash.c | 28 ++++
contrib/btree_gist/btree_date.c | 25 ++++
contrib/btree_gist/btree_enum.c | 39 ++++++
contrib/btree_gist/btree_float4.c | 23 ++++
contrib/btree_gist/btree_float8.c | 23 ++++
contrib/btree_gist/btree_gist--1.8--1.9.sql | 197 ++++++++++++++++++++++++++++
contrib/btree_gist/btree_gist.control | 2 +-
contrib/btree_gist/btree_inet.c | 28 ++++
contrib/btree_gist/btree_int2.c | 26 ++++
contrib/btree_gist/btree_int4.c | 27 +++-
contrib/btree_gist/btree_int8.c | 27 ++++
contrib/btree_gist/btree_interval.c | 25 ++++
contrib/btree_gist/btree_macaddr.c | 25 ++++
contrib/btree_gist/btree_macaddr8.c | 25 ++++
contrib/btree_gist/btree_numeric.c | 34 +++++
contrib/btree_gist/btree_oid.c | 28 ++++
contrib/btree_gist/btree_text.c | 69 ++++++++++
contrib/btree_gist/btree_time.c | 26 ++++
contrib/btree_gist/btree_ts.c | 25 ++++
contrib/btree_gist/btree_utils_var.h | 12 +-
contrib/btree_gist/btree_uuid.c | 23 ++++
contrib/btree_gist/expected/enum.out | 5 +-
contrib/btree_gist/meson.build | 1 +
contrib/btree_gist/sql/enum.sql | 6 +-
doc/src/sgml/btree-gist.sgml | 7 +
29 files changed, 855 insertions(+), 6 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Daniel Gustafsson 2025-04-03 11:21:42 pgsql: libpq: Add support for dumping SSL key material to file
Previous Message Heikki Linnakangas 2025-04-03 10:42:33 pgsql: Fix boilerplate comments in btree_gist