Backport a safer version of the reporter.disable_materialized_simple_record_trigger...
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 20 Nov 2009 22:07:26 +0000 (22:07 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 20 Nov 2009 22:07:26 +0000 (22:07 +0000)
This one works with PostgreSQL 8.1 and up, so it's targeted to the 1.4 branch.
But just in case there are stragglers using PostgreSQL 8.3 with 1.6, we'll use it here, too.

git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_6_0@14996 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/sql/Pg/1.6.0.0-1.6.0.1-upgrade-db.sql [new file with mode: 0755]
Open-ILS/src/sql/Pg/reporter-schema.sql

diff --git a/Open-ILS/src/sql/Pg/1.6.0.0-1.6.0.1-upgrade-db.sql b/Open-ILS/src/sql/Pg/1.6.0.0-1.6.0.1-upgrade-db.sql
new file mode 100755 (executable)
index 0000000..cab9506
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2009  Equinox Software, Inc.
+ * Mike Rylander <miker@esilibrary.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+
+
+INSERT INTO config.upgrade_log (version) VALUES ('1.6.0.1');
+
+CREATE OR REPLACE FUNCTION reporter.disable_materialized_simple_record_trigger () RETURNS VOID AS $$
+    DECLARE x RECORD;
+    BEGIN
+        -- DROP TRIGGER IF EXISTS is only available starting with PostgreSQL 8.2
+        FOR x IN SELECT tgname FROM pg_trigger WHERE tgname = 'zzz_update_materialized_simple_record_tgr'
+        LOOP
+            DROP TRIGGER zzz_update_materialized_simple_record_tgr ON metabib.real_full_rec;
+        END LOOP;
+    END;
+$$ LANGUAGE plpgsql;
+
index 2790e02..9e445c9 100644 (file)
@@ -244,8 +244,15 @@ CREATE TRIGGER zzz_update_materialized_simple_rec_delete_tgr
 
 
 CREATE OR REPLACE FUNCTION reporter.disable_materialized_simple_record_trigger () RETURNS VOID AS $$
-    DROP TRIGGER zzz_update_materialized_simple_record_tgr ON metabib.real_full_rec;
-$$ LANGUAGE SQL;
+    DECLARE x RECORD;
+    BEGIN
+        -- DROP TRIGGER IF EXISTS is only available starting with PostgreSQL 8.2
+        FOR x IN SELECT tgname FROM pg_trigger WHERE tgname = 'zzz_update_materialized_simple_record_tgr'
+        LOOP
+            DROP TRIGGER zzz_update_materialized_simple_record_tgr ON metabib.real_full_rec;
+        END LOOP;
+    END;
+$$ LANGUAGE plpgsql;
 
 CREATE OR REPLACE FUNCTION reporter.enable_materialized_simple_record_trigger () RETURNS VOID AS $$