postgresql/contrib/intarray/uninstall__int.sql
Tom Lane fdf2dbda3f Fix assorted corner-case bugs in contrib/intarray.
The array containment operators now behave per mathematical expectation
for empty arrays (ie, an empty array is contained in anything).
Both these operators and the query_int operators now work as expected in
GiST and GIN index searches, rather than having corner cases where the
index searches gave different answers.

Also, fix unexpected failures where the operators would claim that an array
contained nulls, when in fact there was no longer any null present (similar
to bug #5784).  The restriction to not have nulls is still there, as
removing it would take a lot of added code complexity and probably slow
things down significantly.

Also, remove the arbitrary restriction to 1-D arrays; unlike the other
restriction, this was buying us nothing performance-wise.

Assorted cosmetic improvements and marginal performance improvements, too.
2011-01-09 00:39:21 -05:00

129 lines
2.8 KiB
SQL

/* contrib/intarray/uninstall__int.sql */
-- Adjust this setting to control where the objects get created.
SET search_path = public;
DROP OPERATOR CLASS gin__int_ops USING gin;
DROP FUNCTION ginint4_queryextract(internal, internal, int2, internal, internal, internal, internal);
DROP FUNCTION ginint4_consistent(internal, int2, internal, int4, internal, internal, internal, 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,int,oid,internal);
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,int,oid,internal);
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;