postgresql/contrib/btree_gist/btree_gist--1.7--1.8.sql
Peter Eisentraut 6db4598fcb Add stratnum GiST support function
This is support function 12 for the GiST AM and translates
"well-known" RT*StrategyNumber values into whatever strategy number is
used by the opclass (since no particular numbers are actually
required).  We will use this to support temporal PRIMARY
KEY/UNIQUE/FOREIGN KEY/FOR PORTION OF functionality.

This commit adds two implementations, one for internal GiST opclasses
(just an identity function) and another for btree_gist opclasses.  It
updates btree_gist from 1.7 to 1.8, adding the support function for
all its opclasses.

Author: Paul A. Jungwirth <pj@illuminatedcomputing.com>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Reviewed-by: jian he <jian.universality@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/CA+renyUApHgSZF9-nd-a0+OPGharLQLO=mDHcY4_qQ0+noCUVg@mail.gmail.com
2024-01-19 15:42:13 +01:00

88 lines
3.2 KiB
SQL

/* contrib/btree_gist/btree_gist--1.7--1.8.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
\echo Use "ALTER EXTENSION btree_gist UPDATE TO '1.8'" to load this file. \quit
CREATE FUNCTION gist_stratnum_btree(smallint)
RETURNS smallint
AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT;
ALTER OPERATOR FAMILY gist_oid_ops USING gist ADD
FUNCTION 12 (oid, oid) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_int2_ops USING gist ADD
FUNCTION 12 (int2, int2) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_int4_ops USING gist ADD
FUNCTION 12 (int4, int4) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_int8_ops USING gist ADD
FUNCTION 12 (int8, int8) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_float4_ops USING gist ADD
FUNCTION 12 (float4, float4) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_float8_ops USING gist ADD
FUNCTION 12 (float8, float8) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_timestamp_ops USING gist ADD
FUNCTION 12 (timestamp, timestamp) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_timestamptz_ops USING gist ADD
FUNCTION 12 (timestamptz, timestamptz) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_time_ops USING gist ADD
FUNCTION 12 (time, time) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_date_ops USING gist ADD
FUNCTION 12 (date, date) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_interval_ops USING gist ADD
FUNCTION 12 (interval, interval) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_cash_ops USING gist ADD
FUNCTION 12 (money, money) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_macaddr_ops USING gist ADD
FUNCTION 12 (macaddr, macaddr) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_text_ops USING gist ADD
FUNCTION 12 (text, text) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_bpchar_ops USING gist ADD
FUNCTION 12 (bpchar, bpchar) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_bytea_ops USING gist ADD
FUNCTION 12 (bytea, bytea) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_numeric_ops USING gist ADD
FUNCTION 12 (numeric, numeric) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_bit_ops USING gist ADD
FUNCTION 12 (bit, bit) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_vbit_ops USING gist ADD
FUNCTION 12 (varbit, varbit) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_inet_ops USING gist ADD
FUNCTION 12 (inet, inet) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_cidr_ops USING gist ADD
FUNCTION 12 (cidr, cidr) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_timetz_ops USING gist ADD
FUNCTION 12 (timetz, timetz) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_uuid_ops USING gist ADD
FUNCTION 12 (uuid, uuid) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_macaddr8_ops USING gist ADD
FUNCTION 12 (macaddr8, macaddr8) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_enum_ops USING gist ADD
FUNCTION 12 (anyenum, anyenum) gist_stratnum_btree (int2) ;
ALTER OPERATOR FAMILY gist_bool_ops USING gist ADD
FUNCTION 12 (bool, bool) gist_stratnum_btree (int2) ;