Fix a number of syntax errors in contrib modules' uninstall scripts.
Most of the changes add the mandatory USING clause to DROP OPERATOR
CLASS statements.  DROP TYPE is now DROP TYPE CASCADE; without
CASCADE a DROP TYPE fails due to the circular dependency on the
type's I/O functions.  The DROP FUNCTION statements for the I/O
functions have been removed, as DROP TYPE CASCADE removes them
automatically.

To test the uninstall scripts I did the following:

1. Create a database.
2. Run pg_dump to get a "before" dump.
3. Run a module's install script.
4. Run a module's uninstall script.  Look for errors and drops
   that cascade to anything other than types' I/O functions.
5. Run pg_dump to get an "after" dump.
6. Diff the "before" and "after" dumps; they should be identical.

For past discussion see the following thread:

http://archives.postgresql.org/pgsql-hackers/2006-02/msg01265.php
http://archives.postgresql.org/pgsql-hackers/2006-03/msg00096.php

Absent much feedback I chose option (2) in the following message:

http://archives.postgresql.org/pgsql-hackers/2006-03/msg00354.php

It might be desirable to wrap the drops in a transaction as option
(3) discusses.  pg_trgm's uninstall script is currently the only
one that does so; it was already like that so I didn't change it.

-- 
Michael Fuhr
Index: contrib/btree_gist/uninstall_btree_gist.sql
===================================================================
RCS file: /projects/cvsroot/pgsql/contrib/btree_gist/uninstall_btree_gist.sql,v
retrieving revision 1.1
diff -c -r1.1 uninstall_btree_gist.sql
*** contrib/btree_gist/uninstall_btree_gist.sql 27 Feb 2006 12:54:38 -0000      
1.1
--- contrib/btree_gist/uninstall_btree_gist.sql 13 Mar 2006 05:53:40 -0000
***************
*** 1,8 ****
  SET search_path = public;
  
! DROP OPERATOR CLASS gist_cidr_ops;
  
! DROP OPERATOR CLASS gist_inet_ops;
  
  DROP FUNCTION gbt_inet_same(internal, internal, internal);
  
--- 1,8 ----
  SET search_path = public;
  
! DROP OPERATOR CLASS gist_cidr_ops USING gist;
  
! DROP OPERATOR CLASS gist_inet_ops USING gist;
  
  DROP FUNCTION gbt_inet_same(internal, internal, internal);
  
***************
*** 12,28 ****
  
  DROP FUNCTION gbt_inet_penalty(internal,internal,internal);
  
- DROP FUNCTION gbt_cidr_compress(internal);
- 
  DROP FUNCTION gbt_inet_compress(internal);
  
- DROP FUNCTION gbt_cidr_consistent(internal,cidr,int2);
- 
  DROP FUNCTION gbt_inet_consistent(internal,inet,int2);
  
! DROP OPERATOR CLASS gist_vbit_ops;
  
! DROP OPERATOR CLASS gist_bit_ops;
  
  DROP FUNCTION gbt_bit_same(internal, internal, internal);
  
--- 12,24 ----
  
  DROP FUNCTION gbt_inet_penalty(internal,internal,internal);
  
  DROP FUNCTION gbt_inet_compress(internal);
  
  DROP FUNCTION gbt_inet_consistent(internal,inet,int2);
  
! DROP OPERATOR CLASS gist_vbit_ops USING gist;
  
! DROP OPERATOR CLASS gist_bit_ops USING gist;
  
  DROP FUNCTION gbt_bit_same(internal, internal, internal);
  
***************
*** 36,42 ****
  
  DROP FUNCTION gbt_bit_consistent(internal,bit,int2);
  
! DROP OPERATOR CLASS gist_numeric_ops;
  
  DROP FUNCTION gbt_numeric_same(internal, internal, internal);
  
--- 32,38 ----
  
  DROP FUNCTION gbt_bit_consistent(internal,bit,int2);
  
! DROP OPERATOR CLASS gist_numeric_ops USING gist;
  
  DROP FUNCTION gbt_numeric_same(internal, internal, internal);
  
***************
*** 50,56 ****
  
  DROP FUNCTION gbt_numeric_consistent(internal,numeric,int2);
  
! DROP OPERATOR CLASS gist_bytea_ops;
  
  DROP FUNCTION gbt_bytea_same(internal, internal, internal);
  
--- 46,52 ----
  
  DROP FUNCTION gbt_numeric_consistent(internal,numeric,int2);
  
! DROP OPERATOR CLASS gist_bytea_ops USING gist;
  
  DROP FUNCTION gbt_bytea_same(internal, internal, internal);
  
***************
*** 64,72 ****
  
  DROP FUNCTION gbt_bytea_consistent(internal,bytea,int2);
  
! DROP OPERATOR CLASS gist_bpchar_ops;
  
! DROP OPERATOR CLASS gist_text_ops;
  
  DROP FUNCTION gbt_text_same(internal, internal, internal);
  
--- 60,68 ----
  
  DROP FUNCTION gbt_bytea_consistent(internal,bytea,int2);
  
! DROP OPERATOR CLASS gist_bpchar_ops USING gist;
  
! DROP OPERATOR CLASS gist_text_ops USING gist;
  
  DROP FUNCTION gbt_text_same(internal, internal, internal);
  
***************
*** 84,90 ****
  
  DROP FUNCTION gbt_text_consistent(internal,text,int2);
  
! DROP OPERATOR CLASS gist_macaddr_ops;
  
  DROP FUNCTION gbt_macad_same(internal, internal, internal);
  
--- 80,86 ----
  
  DROP FUNCTION gbt_text_consistent(internal,text,int2);
  
! DROP OPERATOR CLASS gist_macaddr_ops USING gist;
  
  DROP FUNCTION gbt_macad_same(internal, internal, internal);
  
***************
*** 98,104 ****
  
  DROP FUNCTION gbt_macad_consistent(internal,macaddr,int2);
  
! DROP OPERATOR CLASS gist_cash_ops;
  
  DROP FUNCTION gbt_cash_same(internal, internal, internal);
  
--- 94,100 ----
  
  DROP FUNCTION gbt_macad_consistent(internal,macaddr,int2);
  
! DROP OPERATOR CLASS gist_cash_ops USING gist;
  
  DROP FUNCTION gbt_cash_same(internal, internal, internal);
  
***************
*** 112,118 ****
  
  DROP FUNCTION gbt_cash_consistent(internal,money,int2);
  
! DROP OPERATOR CLASS gist_interval_ops;
  
  DROP FUNCTION gbt_intv_same(internal, internal, internal);
  
--- 108,114 ----
  
  DROP FUNCTION gbt_cash_consistent(internal,money,int2);
  
! DROP OPERATOR CLASS gist_interval_ops USING gist;
  
  DROP FUNCTION gbt_intv_same(internal, internal, internal);
  
***************
*** 128,134 ****
  
  DROP FUNCTION gbt_intv_consistent(internal,interval,int2);
  
! DROP OPERATOR CLASS gist_date_ops;
  
  DROP FUNCTION gbt_date_same(internal, internal, internal);
  
--- 124,130 ----
  
  DROP FUNCTION gbt_intv_consistent(internal,interval,int2);
  
! DROP OPERATOR CLASS gist_date_ops USING gist;
  
  DROP FUNCTION gbt_date_same(internal, internal, internal);
  
***************
*** 142,150 ****
  
  DROP FUNCTION gbt_date_consistent(internal,date,int2);
  
! DROP OPERATOR CLASS gist_timetz_ops;
  
! DROP OPERATOR CLASS gist_time_ops;
  
  DROP FUNCTION gbt_time_same(internal, internal, internal);
  
--- 138,146 ----
  
  DROP FUNCTION gbt_date_consistent(internal,date,int2);
  
! DROP OPERATOR CLASS gist_timetz_ops USING gist;
  
! DROP OPERATOR CLASS gist_time_ops USING gist;
  
  DROP FUNCTION gbt_time_same(internal, internal, internal);
  
***************
*** 162,170 ****
  
  DROP FUNCTION gbt_time_consistent(internal,time,int2);
  
! DROP OPERATOR CLASS gist_timestamptz_ops;
  
! DROP OPERATOR CLASS gist_timestamp_ops;
  
  DROP FUNCTION gbt_ts_same(internal, internal, internal);
  
--- 158,166 ----
  
  DROP FUNCTION gbt_time_consistent(internal,time,int2);
  
! DROP OPERATOR CLASS gist_timestamptz_ops USING gist;
  
! DROP OPERATOR CLASS gist_timestamp_ops USING gist;
  
  DROP FUNCTION gbt_ts_same(internal, internal, internal);
  
***************
*** 182,188 ****
  
  DROP FUNCTION gbt_ts_consistent(internal,timestamp,int2);
  
! DROP OPERATOR CLASS gist_float8_ops;
  
  DROP FUNCTION gbt_float8_same(internal, internal, internal);
  
--- 178,184 ----
  
  DROP FUNCTION gbt_ts_consistent(internal,timestamp,int2);
  
! DROP OPERATOR CLASS gist_float8_ops USING gist;
  
  DROP FUNCTION gbt_float8_same(internal, internal, internal);
  
***************
*** 196,202 ****
  
  DROP FUNCTION gbt_float8_consistent(internal,float8,int2);
  
! DROP OPERATOR CLASS gist_float4_ops;
  
  DROP FUNCTION gbt_float4_same(internal, internal, internal);
  
--- 192,198 ----
  
  DROP FUNCTION gbt_float8_consistent(internal,float8,int2);
  
! DROP OPERATOR CLASS gist_float4_ops USING gist;
  
  DROP FUNCTION gbt_float4_same(internal, internal, internal);
  
***************
*** 210,216 ****
  
  DROP FUNCTION gbt_float4_consistent(internal,float4,int2);
  
! DROP OPERATOR CLASS gist_int8_ops;
  
  DROP FUNCTION gbt_int8_same(internal, internal, internal);
  
--- 206,212 ----
  
  DROP FUNCTION gbt_float4_consistent(internal,float4,int2);
  
! DROP OPERATOR CLASS gist_int8_ops USING gist;
  
  DROP FUNCTION gbt_int8_same(internal, internal, internal);
  
***************
*** 224,230 ****
  
  DROP FUNCTION gbt_int8_consistent(internal,int8,int2);
  
! DROP OPERATOR CLASS gist_int4_ops;
  
  DROP FUNCTION gbt_int4_same(internal, internal, internal);
  
--- 220,226 ----
  
  DROP FUNCTION gbt_int8_consistent(internal,int8,int2);
  
! DROP OPERATOR CLASS gist_int4_ops USING gist;
  
  DROP FUNCTION gbt_int4_same(internal, internal, internal);
  
***************
*** 238,244 ****
  
  DROP FUNCTION gbt_int4_consistent(internal,int4,int2);
  
! DROP OPERATOR CLASS gist_int2_ops;
  
  DROP FUNCTION gbt_int2_same(internal, internal, internal);
  
--- 234,240 ----
  
  DROP FUNCTION gbt_int4_consistent(internal,int4,int2);
  
! DROP OPERATOR CLASS gist_int2_ops USING gist;
  
  DROP FUNCTION gbt_int2_same(internal, internal, internal);
  
***************
*** 252,258 ****
  
  DROP FUNCTION gbt_int2_consistent(internal,int2,int2);
  
! DROP OPERATOR CLASS gist_oid_ops;
  
  DROP FUNCTION gbt_oid_same(internal, internal, internal);
  
--- 248,254 ----
  
  DROP FUNCTION gbt_int2_consistent(internal,int2,int2);
  
! DROP OPERATOR CLASS gist_oid_ops USING gist;
  
  DROP FUNCTION gbt_oid_same(internal, internal, internal);
  
***************
*** 270,301 ****
  
  DROP FUNCTION gbt_oid_consistent(internal,oid,int2);
  
! DROP TYPE gbtreekey_var;
! 
! DROP FUNCTION gbtreekey_var_out(gbtreekey_var);
! 
! DROP FUNCTION gbtreekey_var_in(cstring);
! 
! DROP TYPE gbtreekey32;
! 
! DROP FUNCTION gbtreekey32_out(gbtreekey32);
! 
! DROP FUNCTION gbtreekey32_in(cstring);
! 
! DROP TYPE gbtreekey16;
! 
! DROP FUNCTION gbtreekey16_out(gbtreekey16);
! 
! DROP FUNCTION gbtreekey16_in(cstring);
! 
! DROP TYPE gbtreekey8;
! 
! DROP FUNCTION gbtreekey8_out(gbtreekey8);
  
! DROP FUNCTION gbtreekey8_in(cstring);
  
! DROP TYPE gbtreekey4;
  
! DROP FUNCTION gbtreekey4_out(gbtreekey4);
  
! DROP FUNCTION gbtreekey4_in(cstring);
--- 266,277 ----
  
  DROP FUNCTION gbt_oid_consistent(internal,oid,int2);
  
! DROP TYPE gbtreekey_var CASCADE;
  
! DROP TYPE gbtreekey32 CASCADE;
  
! DROP TYPE gbtreekey16 CASCADE;
  
! DROP TYPE gbtreekey8 CASCADE;
  
! DROP TYPE gbtreekey4 CASCADE;
Index: contrib/chkpass/uninstall_chkpass.sql
===================================================================
RCS file: /projects/cvsroot/pgsql/contrib/chkpass/uninstall_chkpass.sql,v
retrieving revision 1.1
diff -c -r1.1 uninstall_chkpass.sql
*** contrib/chkpass/uninstall_chkpass.sql       27 Feb 2006 12:54:38 -0000      
1.1
--- contrib/chkpass/uninstall_chkpass.sql       13 Mar 2006 05:53:40 -0000
***************
*** 1,19 ****
  SET search_path = public;
  
! DROP OPERATOR <>; (
!       leftarg = chkpass,
!       rightarg = text,
!       negator = =,
!       procedure = ne
! );
! 
! DROP OPERATOR =; (
!       leftarg = chkpass,
!       rightarg = text,
!       commutator = =,
! --    negator = <>,
!       procedure = eq
! );
  
  DROP FUNCTION ne(chkpass, text);
  
--- 1,10 ----
  SET search_path = public;
  
! DROP OPERATOR <>(chkpass, text);
! 
! DROP OPERATOR =(chkpass, text);
! 
! DROP OPERATOR =(text, chkpass);
  
  DROP FUNCTION ne(chkpass, text);
  
***************
*** 21,28 ****
  
  DROP FUNCTION raw(chkpass);
  
! DROP TYPE chkpass;
! 
! DROP FUNCTION chkpass_out(chkpass);
! 
! DROP FUNCTION chkpass_in(cstring);
--- 12,15 ----
  
  DROP FUNCTION raw(chkpass);
  
! DROP TYPE chkpass CASCADE;
Index: contrib/cube/uninstall_cube.sql
===================================================================
RCS file: /projects/cvsroot/pgsql/contrib/cube/uninstall_cube.sql,v
retrieving revision 1.1
diff -c -r1.1 uninstall_cube.sql
*** contrib/cube/uninstall_cube.sql     27 Feb 2006 12:54:38 -0000      1.1
--- contrib/cube/uninstall_cube.sql     13 Mar 2006 05:53:40 -0000
***************
*** 1,8 ****
  SET search_path = public;
  
! DROP OPERATOR CLASS gist_cube_ops;
  
! DROP OPERATOR CLASS cube_ops;
  
  DROP FUNCTION g_cube_same(cube, cube, internal);
  
--- 1,8 ----
  SET search_path = public;
  
! DROP OPERATOR CLASS gist_cube_ops USING gist;
  
! DROP OPERATOR CLASS cube_ops USING btree;
  
  DROP FUNCTION g_cube_same(cube, cube, internal);
  
***************
*** 86,93 ****
  
  DROP FUNCTION cube(text);
  
! DROP FUNCTION cube_out(cube);
! 
! DROP TYPE cube;
! 
! DROP FUNCTION cube_in(cstring);
--- 86,89 ----
  
  DROP FUNCTION cube(text);
  
! DROP TYPE cube CASCADE;
Index: contrib/dblink/uninstall_dblink.sql
===================================================================
RCS file: /projects/cvsroot/pgsql/contrib/dblink/uninstall_dblink.sql,v
retrieving revision 1.1
diff -c -r1.1 uninstall_dblink.sql
*** contrib/dblink/uninstall_dblink.sql 27 Feb 2006 12:54:38 -0000      1.1
--- contrib/dblink/uninstall_dblink.sql 13 Mar 2006 05:53:41 -0000
***************
*** 8,14 ****
  
  DROP FUNCTION dblink_get_pkey (text);
  
! CREATE TYPE dblink_pkey_results AS (position int4, colname text);
  
  DROP FUNCTION dblink_exec (text,bool);
  
--- 8,14 ----
  
  DROP FUNCTION dblink_get_pkey (text);
  
! DROP TYPE dblink_pkey_results;
  
  DROP FUNCTION dblink_exec (text,bool);
  
Index: contrib/intarray/uninstall__int.sql
===================================================================
RCS file: /projects/cvsroot/pgsql/contrib/intarray/uninstall__int.sql,v
retrieving revision 1.1
diff -c -r1.1 uninstall__int.sql
*** contrib/intarray/uninstall__int.sql 27 Feb 2006 12:54:39 -0000      1.1
--- contrib/intarray/uninstall__int.sql 13 Mar 2006 05:53:41 -0000
***************
*** 1,6 ****
  SET search_path = public;
  
! DROP OPERATOR CLASS gist__intbig_ops;
  
  DROP FUNCTION g_intbig_same(internal, internal, internal);
  
--- 1,6 ----
  SET search_path = public;
  
! DROP OPERATOR CLASS gist__intbig_ops USING gist;
  
  DROP FUNCTION g_intbig_same(internal, internal, internal);
  
***************
*** 16,28 ****
  
  DROP FUNCTION g_intbig_consistent(internal,internal,int4);
  
! DROP TYPE intbig_gkey;
  
! DROP FUNCTION _intbig_out(intbig_gkey);
! 
! DROP FUNCTION _intbig_in(cstring);
! 
! DROP OPERATOR CLASS gist__int_ops;
  
  DROP FUNCTION g_int_same(_int4, _int4, internal);
  
--- 16,24 ----
  
  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);
  
***************
*** 116,123 ****
  
  DROP FUNCTION querytree(query_int);
  
! DROP TYPE query_int;
! 
! DROP FUNCTION bqarr_out(query_int);
! 
! DROP FUNCTION bqarr_in(cstring);
--- 112,115 ----
  
  DROP FUNCTION querytree(query_int);
  
! DROP TYPE query_int CASCADE;
Index: contrib/isbn_issn/uninstall_isbn_issn.sql
===================================================================
RCS file: /projects/cvsroot/pgsql/contrib/isbn_issn/uninstall_isbn_issn.sql,v
retrieving revision 1.1
diff -c -r1.1 uninstall_isbn_issn.sql
*** contrib/isbn_issn/uninstall_isbn_issn.sql   27 Feb 2006 12:54:39 -0000      
1.1
--- contrib/isbn_issn/uninstall_isbn_issn.sql   13 Mar 2006 05:53:41 -0000
***************
*** 1,6 ****
  SET search_path = public;
  
! DROP OPERATOR CLASS isbn_ops;
  
  DROP FUNCTION isbn_cmp(isbn, isbn);
  
--- 1,6 ----
  SET search_path = public;
  
! DROP OPERATOR CLASS isbn_ops USING btree;
  
  DROP FUNCTION isbn_cmp(isbn, isbn);
  
***************
*** 28,40 ****
  
  DROP FUNCTION isbn_lt(isbn, isbn);
  
! DROP TYPE isbn;
  
! DROP FUNCTION isbn_out(isbn);
! 
! DROP FUNCTION isbn_in(cstring);
! 
! DROP OPERATOR CLASS issn_ops;
  
  DROP FUNCTION issn_cmp(issn, issn);
  
--- 28,36 ----
  
  DROP FUNCTION isbn_lt(isbn, isbn);
  
! DROP TYPE isbn CASCADE;
  
! DROP OPERATOR CLASS issn_ops USING btree;
  
  DROP FUNCTION issn_cmp(issn, issn);
  
***************
*** 62,69 ****
  
  DROP FUNCTION issn_lt(issn, issn);
  
! DROP TYPE issn;
! 
! DROP FUNCTION issn_out(issn);
! 
! DROP FUNCTION issn_in(cstring);
--- 58,61 ----
  
  DROP FUNCTION issn_lt(issn, issn);
  
! DROP TYPE issn CASCADE;
Index: contrib/ltree/uninstall_ltree.sql
===================================================================
RCS file: /projects/cvsroot/pgsql/contrib/ltree/uninstall_ltree.sql,v
retrieving revision 1.1
diff -c -r1.1 uninstall_ltree.sql
*** contrib/ltree/uninstall_ltree.sql   27 Feb 2006 12:54:39 -0000      1.1
--- contrib/ltree/uninstall_ltree.sql   13 Mar 2006 05:53:41 -0000
***************
*** 1,6 ****
  SET search_path = public;
  
! DROP OPERATOR CLASS gist__ltree_ops;
  
  DROP FUNCTION _ltree_same(internal, internal, internal);
  
--- 1,6 ----
  SET search_path = public;
  
! DROP OPERATOR CLASS gist__ltree_ops USING gist;
  
  DROP FUNCTION _ltree_same(internal, internal, internal);
  
***************
*** 90,96 ****
  
  DROP FUNCTION _ltree_isparent(_ltree,ltree);
  
! DROP OPERATOR CLASS gist_ltree_ops;
  
  DROP FUNCTION ltree_same(internal, internal, internal);
  
--- 90,96 ----
  
  DROP FUNCTION _ltree_isparent(_ltree,ltree);
  
! DROP OPERATOR CLASS gist_ltree_ops USING gist;
  
  DROP FUNCTION ltree_same(internal, internal, internal);
  
***************
*** 106,117 ****
  
  DROP FUNCTION ltree_consistent(internal,internal,int2);
  
! DROP TYPE ltree_gist;   
    
- DROP FUNCTION ltree_gist_out(ltree_gist);
-   
- DROP FUNCTION ltree_gist_in(cstring);
- 
  DROP OPERATOR ^@ (ltxtquery, ltree);
  
  DROP OPERATOR ^@ (ltree, ltxtquery);
--- 106,113 ----
  
  DROP FUNCTION ltree_consistent(internal,internal,int2);
  
! DROP TYPE ltree_gist CASCADE;
    
  DROP OPERATOR ^@ (ltxtquery, ltree);
  
  DROP OPERATOR ^@ (ltree, ltxtquery);
***************
*** 124,134 ****
  
  DROP FUNCTION ltxtq_exec(ltree, ltxtquery);
  
! DROP TYPE ltxtquery;
! 
! DROP FUNCTION ltxtq_out(ltxtquery);
! 
! DROP FUNCTION ltxtq_in(cstring);
  
  DROP OPERATOR ^? (_lquery, ltree);
  
--- 120,126 ----
  
  DROP FUNCTION ltxtq_exec(ltree, ltxtquery);
  
! DROP TYPE ltxtquery CASCADE;
  
  DROP OPERATOR ^? (_lquery, ltree);
  
***************
*** 154,166 ****
  
  DROP FUNCTION ltq_regex(ltree,lquery);
  
! DROP TYPE lquery;
  
! DROP FUNCTION lquery_out(lquery);
! 
! DROP FUNCTION lquery_in(cstring);
! 
! DROP OPERATOR CLASS ltree_ops;
  
  DROP OPERATOR || (text, ltree);
  
--- 146,154 ----
  
  DROP FUNCTION ltq_regex(ltree,lquery);
  
! DROP TYPE lquery CASCADE;
  
! DROP OPERATOR CLASS ltree_ops USING btree;
  
  DROP OPERATOR || (text, ltree);
  
***************
*** 244,251 ****
  
  DROP FUNCTION ltree_cmp(ltree,ltree);
  
! DROP TYPE ltree;
! 
! DROP FUNCTION ltree_out(ltree);
! 
! DROP FUNCTION ltree_in(cstring);
--- 232,235 ----
  
  DROP FUNCTION ltree_cmp(ltree,ltree);
  
! DROP TYPE ltree CASCADE;
Index: contrib/pg_trgm/uninstall_pg_trgm.sql
===================================================================
RCS file: /projects/cvsroot/pgsql/contrib/pg_trgm/uninstall_pg_trgm.sql,v
retrieving revision 1.1
diff -c -r1.1 uninstall_pg_trgm.sql
*** contrib/pg_trgm/uninstall_pg_trgm.sql       27 Feb 2006 12:54:39 -0000      
1.1
--- contrib/pg_trgm/uninstall_pg_trgm.sql       13 Mar 2006 05:53:41 -0000
***************
*** 2,8 ****
  
  BEGIN;
  
! DROP OPERATOR CLASS gist_trgm_ops;
  
  DROP FUNCTION gtrgm_same(gtrgm, gtrgm, internal);
  
--- 2,8 ----
  
  BEGIN;
  
! DROP OPERATOR CLASS gist_trgm_ops USING gist;
  
  DROP FUNCTION gtrgm_same(gtrgm, gtrgm, internal);
  
***************
*** 18,28 ****
   
  DROP FUNCTION gtrgm_consistent(gtrgm,internal,int4);
  
! DROP TYPE gtrgm;
! 
! DROP FUNCTION gtrgm_out(gtrgm);
! 
! DROP FUNCTION gtrgm_in(cstring);
  
  DROP OPERATOR % (text, text);
  
--- 18,24 ----
   
  DROP FUNCTION gtrgm_consistent(gtrgm,internal,int4);
  
! DROP TYPE gtrgm CASCADE;
  
  DROP OPERATOR % (text, text);
  
Index: contrib/seg/uninstall_seg.sql
===================================================================
RCS file: /projects/cvsroot/pgsql/contrib/seg/uninstall_seg.sql,v
retrieving revision 1.1
diff -c -r1.1 uninstall_seg.sql
*** contrib/seg/uninstall_seg.sql       27 Feb 2006 12:54:39 -0000      1.1
--- contrib/seg/uninstall_seg.sql       13 Mar 2006 05:53:41 -0000
***************
*** 1,8 ****
  SET search_path = public;
  
! DROP OPERATOR CLASS gist_seg_ops;
  
! DROP OPERATOR CLASS seg_ops;
  
  DROP FUNCTION gseg_same(seg, seg, internal);
  
--- 1,8 ----
  SET search_path = public;
  
! DROP OPERATOR CLASS gist_seg_ops USING gist;
  
! DROP OPERATOR CLASS seg_ops USING btree;
  
  DROP FUNCTION gseg_same(seg, seg, internal);
  
***************
*** 82,89 ****
  
  DROP FUNCTION seg_over_left(seg, seg);
  
! DROP TYPE seg;
! 
! DROP FUNCTION seg_out(seg);
! 
! DROP FUNCTION seg_in(cstring);
--- 82,85 ----
  
  DROP FUNCTION seg_over_left(seg, seg);
  
! DROP TYPE seg CASCADE;
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to