/* * Copyright (C) 2008 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. * */ BEGIN; -- Handy management functions for the new materialized reporting view CREATE OR REPLACE FUNCTION reporter.disable_materialized_simple_record_trigger () RETURNS VOID AS $$ DROP TRIGGER zzz_update_materialized_simple_record_tgr ON metabib.full_rec; $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION reporter.enable_materialized_simple_record_trigger () RETURNS VOID AS $$ TRUNCATE TABLE reporter.materialized_simple_record; INSERT INTO reporter.materialized_simple_record (id,fingerprint,quality,tcn_source,tcn_value,title,author,publisher,pubdate,isbn,issn) SELECT DISTINCT ON (id) * FROM reporter.old_super_simple_record; CREATE TRIGGER zzz_update_materialized_simple_record_tgr AFTER INSERT OR UPDATE OR DELETE ON metabib.full_rec FOR EACH ROW EXECUTE PROCEDURE reporter.simple_rec_sync(); $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION reporter.refresh_materialized_simple_record () RETURNS VOID AS $$ SELECT reporter.disable_materialized_simple_record_trigger(); SELECT reporter.enable_materialized_simple_record_trigger(); $$ LANGUAGE SQL; COMMIT;