mirror of
https://github.com/postgres/postgres.git
synced 2025-05-28 05:21:27 +03:00
The type argument wasn't actually really necessary. It was a remnant of converting the API of the gist strategy translation from using opclass to using opfamily+opcintype (commits c09e5a6a016, 622f678c102). For looking up the gist translation function, we used the convention "amproclefttype = amprocrighttype = opclass's opcintype" (see pg_amproc.h). But each operator family should only have one translation function, and getting the right type for the lookup is sometimes cumbersome and fragile, so this is all unnecessarily complicated. To simplify this, change the gist stategy support procedure to take "any", "any" as argument. (This is arbitrary but seems intuitive. The alternative of using InvalidOid as argument(s) upsets various DDL commands, so it's not practical.) Then we don't need opcintype for the lookup, and we can remove it from all the API layers introduced by commit c09e5a6a016. This also adds some more documentation about the correct signature of the gist support function and adds more checks in gistvalidate(). This was previously underspecified. (It relied implicitly on convention mentioned above.) Discussion: https://www.postgresql.org/message-id/flat/E72EAA49-354D-4C2E-8EB9-255197F55330@enterprisedb.com
88 lines
3.1 KiB
SQL
88 lines
3.1 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(int)
|
|
RETURNS smallint
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C IMMUTABLE PARALLEL SAFE STRICT;
|
|
|
|
ALTER OPERATOR FAMILY gist_oid_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_int2_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_int4_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_int8_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_float4_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_float8_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_timestamp_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_timestamptz_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_time_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_date_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_interval_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_cash_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_macaddr_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_text_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_bpchar_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_bytea_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_numeric_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_bit_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_vbit_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_inet_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_cidr_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_timetz_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_uuid_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_macaddr8_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_enum_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|
|
|
|
ALTER OPERATOR FAMILY gist_bool_ops USING gist ADD
|
|
FUNCTION 12 ("any", "any") gist_stratnum_btree (int) ;
|