postgresql/contrib/btree_gist/sql
Tom Lane b3b0b45717 Create btree_gist v1.9, in which inet/cidr opclasses aren't default.
btree_gist's gist_inet_ops and gist_cidr_ops opclasses are
fundamentally broken: they rely on an approximate representation of
the inet values and hence sometimes miss rows they should return.
We want to eventually get rid of them altogether, but as the first
step on that journey, we should mark them not-opcdefault.

To do that, roll up the preceding deltas since 1.2 into a new base
script btree_gist--1.9.sql.  This will allow installing 1.9 without
going through a transient situation where gist_inet_ops and
gist_cidr_ops are marked as opcdefault; trying to create them that
way will fail if there's already a matching default opclass in the
core system.  Additionally provide btree_gist--1.8--1.9.sql, so
that a database that's been pg_upgraded from an older version can
be migrated to 1.9.

I noted along the way that commit 57e3c5160 had missed marking the
gist_bool_ops support functions as PARALLEL SAFE.  While that probably
has little harmful effect (since AFAIK we don't check that when
calling index support functions), this seems like a good time to make
things consistent.

Readers will also note that I removed the former habit of installing
some opclass operators/functions with ALTER OPERATOR FAMILY, instead
just rolling them all into the CREATE OPERATOR CLASS steps.  The
comment in btree_gist--1.2.sql that it's necessary to use ALTER for
pg_upgrade reproducibility has been obsolete since we invented the
amadjustmembers infrastructure.  Nowadays, gistadjustmembers will
force all operators and non-required support functions to have "soft"
opfamily dependencies, regardless of whether they are installed by
CREATE or ALTER.

Author: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Matthias van de Meent <boekewurm+postgres@gmail.com>
Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi>
Discussion: https://postgr.es/m/2483812.1754072263@sss.pgh.pa.us
2026-01-08 13:56:08 -05:00
..
bit.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
bool.sql Add bool GiST opclass to btree_gist 2021-11-06 17:00:43 +01:00
bytea.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
cash.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
char.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
cidr.sql Create btree_gist v1.9, in which inet/cidr opclasses aren't default. 2026-01-08 13:56:08 -05:00
date.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
enum.sql Add support for sorted gist index builds to btree_gist 2025-04-03 13:46:35 +03:00
float4.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
float8.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
inet.sql Create btree_gist v1.9, in which inet/cidr opclasses aren't default. 2026-01-08 13:56:08 -05:00
init.sql Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
int2.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
int4.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
int8.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
interval.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
macaddr.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
macaddr8.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
not_equal.sql Ensure plan stability in contrib/btree_gist regression test. 2016-05-12 20:04:38 -04:00
numeric.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
oid.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
partitions.sql Allow some exclusion constraints on partitions 2023-07-12 09:25:17 +02:00
stratnum.sql Rename gist stratnum support function 2025-06-02 08:41:27 +02:00
text.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
time.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
timestamp.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
timestamptz.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
timetz.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
uuid.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
varbit.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
varchar.sql Revert "Add sortsupport for gist_btree opclasses, for faster index builds." 2021-04-07 14:33:21 +03:00
without_overlaps.sql Add temporal FOREIGN KEY contraints 2024-09-17 11:29:30 +02:00