postgresql/contrib/intarray/uninstall__int.sql
Tom Lane a78fcfb512 Restructure operator classes to allow improved handling of cross-data-type
cases.  Operator classes now exist within "operator families".  While most
families are equivalent to a single class, related classes can be grouped
into one family to represent the fact that they are semantically compatible.
Cross-type operators are now naturally adjunct parts of a family, without
having to wedge them into a particular opclass as we had done originally.

This commit restructures the catalogs and cleans up enough of the fallout so
that everything still works at least as well as before, but most of the work
needed to actually improve the planner's behavior will come later.  Also,
there are not yet CREATE/DROP/ALTER OPERATOR FAMILY commands; the only way
to create a new family right now is to allow CREATE OPERATOR CLASS to make
one by default.  I owe some more documentation work, too.  But that can all
be done in smaller pieces once this infrastructure is in place.
2006-12-23 00:43:13 +00:00

131 lines
2.7 KiB
SQL

SET search_path = public;
DROP OPERATOR CLASS gin__int_ops USING gin;
DROP FUNCTION ginint4_queryextract(internal, internal, int2);
DROP FUNCTION ginint4_consistent(internal, int2, internal);
DROP OPERATOR CLASS gist__intbig_ops USING gist;
DROP FUNCTION g_intbig_same(internal, internal, internal);
DROP FUNCTION g_intbig_union(internal, internal);
DROP FUNCTION g_intbig_picksplit(internal, internal);
DROP FUNCTION g_intbig_penalty(internal,internal,internal);
DROP FUNCTION g_intbig_decompress(internal);
DROP FUNCTION g_intbig_compress(internal);
DROP FUNCTION g_intbig_consistent(internal,internal,int4);
DROP TYPE intbig_gkey CASCADE;
DROP OPERATOR CLASS gist__int_ops USING gist;
DROP FUNCTION g_int_same(_int4, _int4, internal);
DROP FUNCTION g_int_union(internal, internal);
DROP FUNCTION g_int_picksplit(internal, internal);
DROP FUNCTION g_int_penalty(internal,internal,internal);
DROP FUNCTION g_int_decompress(internal);
DROP FUNCTION g_int_compress(internal);
DROP FUNCTION g_int_consistent(internal,_int4,int4);
DROP OPERATOR & (_int4, _int4);
DROP OPERATOR - (_int4, _int4);
DROP FUNCTION intset_subtract(_int4, _int4);
DROP OPERATOR | (_int4, _int4);
DROP OPERATOR | (_int4, int4);
DROP FUNCTION intset_union_elem(_int4, int4);
DROP OPERATOR - (_int4, int4);
DROP FUNCTION intarray_del_elem(_int4, int4);
DROP OPERATOR + (_int4, _int4);
DROP FUNCTION intarray_push_array(_int4, _int4);
DROP OPERATOR + (_int4, int4);
DROP FUNCTION intarray_push_elem(_int4, int4);
DROP FUNCTION subarray(_int4, int4);
DROP FUNCTION subarray(_int4, int4, int4);
DROP OPERATOR # (_int4, int4);
DROP FUNCTION idx(_int4, int4);
DROP FUNCTION uniq(_int4);
DROP FUNCTION sort_desc(_int4);
DROP FUNCTION sort_asc(_int4);
DROP FUNCTION sort(_int4);
DROP FUNCTION sort(_int4, text);
DROP OPERATOR # (NONE, _int4);
DROP FUNCTION icount(_int4);
DROP FUNCTION intset(int4);
DROP OPERATOR <@ (_int4, _int4);
DROP OPERATOR @> (_int4, _int4);
DROP OPERATOR ~ (_int4, _int4);
DROP OPERATOR @ (_int4, _int4);
DROP OPERATOR && (_int4, _int4);
DROP FUNCTION _int_inter(_int4, _int4);
DROP FUNCTION _int_union(_int4, _int4);
DROP FUNCTION _int_different(_int4, _int4);
DROP FUNCTION _int_same(_int4, _int4);
DROP FUNCTION _int_overlap(_int4, _int4);
DROP FUNCTION _int_contained(_int4, _int4);
DROP FUNCTION _int_contains(_int4, _int4);
DROP OPERATOR ~~ (query_int, _int4);
DROP OPERATOR @@ (_int4, query_int);
DROP FUNCTION rboolop(query_int, _int4);
DROP FUNCTION boolop(_int4, query_int);
DROP FUNCTION querytree(query_int);
DROP TYPE query_int CASCADE;
--mark built-in gin's _int4_ops as default again
update pg_catalog.pg_opclass set opcdefault = 't'
where opcmethod = (select oid from pg_catalog.pg_am where amname='gin') and
opcname = '_int4_ops';