From: dbs Date: Fri, 20 Nov 2009 22:07:26 +0000 (+0000) Subject: Backport a safer version of the reporter.disable_materialized_simple_record_trigger... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=066259e27b810677d3835181fb283e763f6495ef;p=Evergreen.git Backport a safer version of the reporter.disable_materialized_simple_record_trigger () function 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 --- 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 index 0000000000..cab9506186 --- /dev/null +++ b/Open-ILS/src/sql/Pg/1.6.0.0-1.6.0.1-upgrade-db.sql @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2009 Equinox Software, Inc. + * Mike Rylander + * + * 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; + diff --git a/Open-ILS/src/sql/Pg/reporter-schema.sql b/Open-ILS/src/sql/Pg/reporter-schema.sql index 2790e02b6a..9e445c9f00 100644 --- a/Open-ILS/src/sql/Pg/reporter-schema.sql +++ b/Open-ILS/src/sql/Pg/reporter-schema.sql @@ -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 $$