1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-05 23:56:58 +03:00

Remove ill-considered (not to mention undocumented) attempt to make

contrib/intarray's GIN opclass override the built-in default.  Per bug #3048
and other complaints.
This commit is contained in:
Tom Lane 2007-09-14 03:25:37 +00:00
parent cfa22b8d20
commit 62c42d82aa
5 changed files with 6 additions and 14 deletions

View File

@ -2,9 +2,10 @@ This is an implementation of RD-tree data structure using GiST interface
of PostgreSQL. It has built-in lossy compression. of PostgreSQL. It has built-in lossy compression.
Current implementation provides index support for one-dimensional array of Current implementation provides index support for one-dimensional array of
int4's - gist__int_ops, suitable for small and medium size of arrays (used on integers: gist__int_ops, suitable for small and medium size of arrays (used by
default), and gist__intbig_ops for indexing large arrays (we use superimposed default), and gist__intbig_ops for indexing large arrays (we use superimposed
signature with length of 4096 bits to represent sets). signature with length of 4096 bits to represent sets). There is also a
non-default gin__int_ops for GIN indexes on integer arrays.
All work was done by Teodor Sigaev (teodor@stack.net) and Oleg Bartunov All work was done by Teodor Sigaev (teodor@stack.net) and Oleg Bartunov
(oleg@sai.msu.su). See http://www.sai.msu.su/~megera/postgres/gist (oleg@sai.msu.su). See http://www.sai.msu.su/~megera/postgres/gist

View File

@ -458,10 +458,6 @@ AS
STORAGE intbig_gkey; STORAGE intbig_gkey;
--GIN --GIN
--mark built-in gin's _int4_ops as non default
update pg_opclass set opcdefault = 'f' where
pg_opclass.opcamid = (select pg_am.oid from pg_am where amname='gin') and
opcname = '_int4_ops';
CREATE FUNCTION ginint4_queryextract(internal, internal, int2) CREATE FUNCTION ginint4_queryextract(internal, internal, int2)
RETURNS internal RETURNS internal
@ -474,7 +470,7 @@ AS 'MODULE_PATHNAME'
LANGUAGE C; LANGUAGE C;
CREATE OPERATOR CLASS gin__int_ops CREATE OPERATOR CLASS gin__int_ops
DEFAULT FOR TYPE _int4 USING gin FOR TYPE _int4 USING gin
AS AS
OPERATOR 3 &&, OPERATOR 3 &&,
OPERATOR 6 = (anyarray, anyarray) RECHECK, OPERATOR 6 = (anyarray, anyarray) RECHECK,

View File

@ -516,7 +516,7 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
(1 row) (1 row)
DROP INDEX text_idx; DROP INDEX text_idx;
CREATE INDEX text_idx on test__int using gin ( a ); CREATE INDEX text_idx on test__int using gin ( a gin__int_ops );
SELECT count(*) from test__int WHERE a && '{23,50}'; SELECT count(*) from test__int WHERE a && '{23,50}';
count count
------- -------

View File

@ -111,7 +111,7 @@ SELECT count(*) from test__int WHERE a @> '{20,23}' or a @> '{50,68}';
SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)'; SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)';
DROP INDEX text_idx; DROP INDEX text_idx;
CREATE INDEX text_idx on test__int using gin ( a ); CREATE INDEX text_idx on test__int using gin ( a gin__int_ops );
SELECT count(*) from test__int WHERE a && '{23,50}'; SELECT count(*) from test__int WHERE a && '{23,50}';
SELECT count(*) from test__int WHERE a @@ '23|50'; SELECT count(*) from test__int WHERE a @@ '23|50';

View File

@ -123,8 +123,3 @@ DROP FUNCTION boolop(_int4, query_int);
DROP FUNCTION querytree(query_int); DROP FUNCTION querytree(query_int);
DROP TYPE query_int CASCADE; DROP TYPE query_int CASCADE;
update pg_opclass set opcdefault = 't' where
pg_opclass.opcamid = (select pg_am.oid from pg_am where amname='gin') and
opcname = '_int4_ops';