From f14cf72b71baf98d509d9e5b9ad014a5ee2c6d92 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Mon, 11 Apr 2011 09:53:55 +0000 Subject: [PATCH] Do not raise an exception from DropGeometryTable if a non-existing table is given. Patch by Andrea Peri. Regress test mine. Closes ticket #861. git-svn-id: http://svn.osgeo.org/postgis/trunk@7014 b70326c6-7e19-0410-871a-916f4a2858ee --- postgis/postgis.sql.in.c | 4 ++-- regress/regress_management.sql | 1 + regress/regress_management_expected | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/postgis/postgis.sql.in.c b/postgis/postgis.sql.in.c index 2059c8251..c89032282 100644 --- a/postgis/postgis.sql.in.c +++ b/postgis/postgis.sql.in.c @@ -2578,9 +2578,9 @@ BEGIN ' f_table_name = ' || quote_literal(table_name); -- Remove table - EXECUTE 'DROP TABLE ' + EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(real_schema) || '.' || - quote_ident(table_name); + quote_ident(table_name) || ' RESTRICT'; RETURN real_schema || '.' || diff --git a/regress/regress_management.sql b/regress/regress_management.sql index 70a4496e9..b3d1c62d9 100644 --- a/regress/regress_management.sql +++ b/regress/regress_management.sql @@ -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)')); SELECT populate_geometry_columns('test_pt'::regclass); SELECT 'The result: ' || DropGeometryTable('test_pt'); +SELECT 'Unexistant: ' || DropGeometryTable('unexistent'); -- see ticket #861 diff --git a/regress/regress_management_expected b/regress/regress_management_expected index 811c33ba5..2a132ff02 100644 --- a/regress/regress_management_expected +++ b/regress/regress_management_expected @@ -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. -- 2.50.1