]> granicus.if.org Git - postgis/commitdiff
Moved create_undef.pl script under utils/ directory
authorSandro Santilli <strk@keybit.net>
Wed, 13 Jul 2005 14:26:33 +0000 (14:26 +0000)
committerSandro Santilli <strk@keybit.net>
Wed, 13 Jul 2005 14:26:33 +0000 (14:26 +0000)
and fixed bug reported by klaus F�rster

git-svn-id: http://svn.osgeo.org/postgis/branches/pgis_1_0@1814 b70326c6-7e19-0410-871a-916f4a2858ee

create_undef.pl [deleted file]
utils/Makefile
utils/create_undef.pl

diff --git a/create_undef.pl b/create_undef.pl
deleted file mode 100644 (file)
index 499d258..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-# perl create_undef.pl <postgis.sql>
-# creates a new sql script to delete all the postgis functions et al.
-
-($#ARGV == 1) || die "Usage: perl create_undef.pl <postgis.sql> <pgsql_version #>\nCreates a new SQL script to delete all the PostGIS functions.\n";
-
-# drops are in the following order:
-#      1. Indexing system stuff
-#      2. Meta datatables <not done>
-#      3. Aggregates 
-#      3. Casts
-#      4. Operators 
-#      5. Functions
-#      6. Types
-#      7. Tables
-
-my @aggs = ();
-my @casts = ();
-my @funcs = ();
-my @types = ();
-my @ops = ();
-
-my $version = $ARGV[1];
-
-print "BEGIN;\n";
-
-if ( $version ge "73" ) 
-{
-       print "-- Drop index bindings from system tables\n";
-       print "DROP OPERATOR CLASS gist_geometry_ops USING gist CASCADE;\n";
-}
-else 
-{
-       print "-- Drop index bindings from system tables\n";
-       print "DELETE FROM pg_amproc WHERE amopclaid = (SELECT oid FROM pg_opclass WHERE opcname = 'gist_geometry_ops');\n";
-       print "DELETE FROM pg_amop WHERE amopclaid = (SELECT oid FROM pg_opclass WHERE opcname = 'gist_geometry_ops');\n";
-       print "DELETE FROM pg_opclass WHERE opcname = 'gist_geometry_ops';\n";
-}
-
-
-open( INPUT, $ARGV[0] ) || die "Couldn't open file: $ARGV[0]\n";
-
-while( my $line = <INPUT>)
-{
-       $line =~ s/[\r\n]//g;
-       push (@funcs, $line) if ($line =~ /^create function/i);
-       push (@funcs, $line) if ($line =~ /^create or replace function/i);
-       push (@ops, $line) if ($line =~ /^create operator.*\(/i);
-       push (@aggs, $line) if ($line =~ /^create aggregate/i);
-       push (@types, $line) if ($line =~ /^create type/i);
-       push (@casts, $line) if ($line =~ /^create cast/i);
-}
-
-close( INPUT );
-
-print "-- Drop all aggregates.\n";
-
-foreach my $agg (@aggs)
-{
-       if ( $agg =~ /create aggregate\s*(\w+)\s*\(/i )
-       {
-               if ( $version eq "71" ) 
-               {
-                       print "DROP AGGREGATE $1 geometry;\n";
-               }
-               else 
-               {
-                       print "DROP AGGREGATE $1 ( geometry );\n";
-               }
-       }
-       else
-       {
-               die "Couldn't parse line: $agg\n";
-       }
-}
-
-print "-- Drop all operators.\n";
-
-foreach my $op (@ops)
-{
-       if ($op =~ /create operator ([^(]+)/i )
-       {
-               if ( $version ge "73" ) 
-               {
-                       print "DROP OPERATOR $1 (geometry,geometry) CASCADE;\n";
-               }
-               else
-               {
-                       print "DROP OPERATOR $1 (geometry,geometry);\n";
-               }
-       }
-       else
-       {
-               die "Couldn't parse line: $op\n";
-       }
-}
-
-       
-print "-- Drop all casts.\n";
-
-foreach my $cast (@casts)
-{
-       if ($cast =~ /create cast\s*\((.+?)\)/i )
-       {
-               print "DROP CAST ($1);\n";
-       }
-       else
-       {
-               die "Couldn't parse line: $cast\n";
-       }
-}
-
-print "-- Drop all functions.\n";
-
-foreach my $fn (@funcs)
-{
-       if ($fn =~ /.* function ([^(]+)\((.*)\)/i )
-       {
-               my $fn_nm = $1;
-               my $fn_arg = $2;
-
-               if ( $version ge "73" )
-               {
-                       if ( ! ( $fn_nm =~ /_in/i || $fn_nm =~ /_out/i || $fn_nm =~ /_recv/i || $fn_nm =~ /_send/i || $fn_nm =~ /_analyze/i ) ) 
-                       {
-                               print "DROP FUNCTION $fn_nm ($fn_arg) CASCADE;\n";
-                       } 
-               }
-               else
-               {
-                       print "DROP FUNCTION $fn_nm ($fn_arg);\n";
-               }
-       }
-       else
-       {
-               die "Couldn't parse line: $fn\n";
-       }
-}
-
-print "-- Drop all types.\n";
-
-foreach my $type (@types)
-{
-       if ($type =~ /create type ([^(]+)/i )
-       {
-               if ( $version ge "73" ) 
-               {
-                       print "DROP TYPE $1 CASCADE;\n";
-               }
-               else 
-               {
-                       print "DROP TYPE $1;\n";
-               }
-       }
-       else
-       {
-               die "Couldn't parse line: $type\n";
-       }
-}
-
-print "-- Drop all tables.\n";
-print "DROP TABLE spatial_ref_sys;\n";
-print "DROP TABLE geometry_columns;\n";
-print "\n";
-
-print "COMMIT;\n";
-
-1;
-
index eef9a5e365cf5db1d669fe2416a47a7061cd6bfc..4913abd150e6bd7529e9efba928ff8b7f26ec800 100644 (file)
@@ -2,7 +2,8 @@ SCRIPTS = \
        postgis_restore.pl \
        profile_intersects.pl \
        test_estimation.pl \
-       test_joinestimation.pl
+       test_joinestimation.pl \
+       create_undef.pl
 
 all:
        chmod +x $(SCRIPTS)
index 499d258b403a23b7ca50ec2c5d90d553557b6fd6..a6c020567a2163f3b142a521068e4f4ceec615c7 100755 (executable)
@@ -1,3 +1,6 @@
+eval "exec perl -w $0 $@"
+       if (0);
+
 # perl create_undef.pl <postgis.sql>
 # creates a new sql script to delete all the postgis functions et al.
 
@@ -140,7 +143,7 @@ print "-- Drop all types.\n";
 
 foreach my $type (@types)
 {
-       if ($type =~ /create type ([^(]+)/i )
+       if ($type =~ /create type (\w+)/i )
        {
                if ( $version ge "73" ) 
                {