]> granicus.if.org Git - postgis/commitdiff
Do not raise an exception from DropGeometryTable if a non-existing table is given...
authorSandro Santilli <strk@keybit.net>
Mon, 11 Apr 2011 09:53:55 +0000 (09:53 +0000)
committerSandro Santilli <strk@keybit.net>
Mon, 11 Apr 2011 09:53:55 +0000 (09:53 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@7014 b70326c6-7e19-0410-871a-916f4a2858ee

postgis/postgis.sql.in.c
regress/regress_management.sql
regress/regress_management_expected

index 2059c82518e91aab9e1ccc41fe39f570bde02cba..c890322828e82e00ea23cfb208ab4028f1181077 100644 (file)
@@ -2578,9 +2578,9 @@ BEGIN
                ' f_table_name = ' || quote_literal(table_name);\r
 \r
        -- Remove table\r
-       EXECUTE 'DROP TABLE '\r
+       EXECUTE 'DROP TABLE IF EXISTS '\r
                || quote_ident(real_schema) || '.' ||\r
-               quote_ident(table_name);\r
+               quote_ident(table_name) || ' RESTRICT';\r
 \r
        RETURN\r
                real_schema || '.' ||\r
index 70a4496e962fa0565ea287ecd7e49a96425744ee..b3d1c62d9aa87a1099a5334f18db7f9ce3dd2d1c 100644 (file)
@@ -6,3 +6,4 @@ CREATE TABLE test_pt(gid SERIAL PRIMARY KEY, geom geometry);
 INSERT INTO test_pt(geom) VALUES(ST_GeomFromEWKT('SRID=4326;POINT M(1 2 3)'));\r
 SELECT populate_geometry_columns('test_pt'::regclass);\r
 SELECT 'The result: ' || DropGeometryTable('test_pt');\r
+SELECT 'Unexistant: ' || DropGeometryTable('unexistent'); -- see ticket #861\r
index 811c33ba51137aceb1becb1b0e237ca574e9c1c9..2a132ff0240215131e89e2f630370edb24b92591 100644 (file)
@@ -2,3 +2,6 @@ NOTICE:  CREATE TABLE will create implicit sequence "test_pt_gid_seq" for serial
 NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "test_pt_pkey" for table "test_pt"
 1
 The result: public.test_pt dropped.
+NOTICE:  table "unexistent" does not exist, skipping
+PL/pgSQL function "dropgeometrytable" line 22 at EXECUTE statement
+Unexistant: public.unexistent dropped.