]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0295.schema.marcxml_check_trigger.sql
Break up expensive queries, match index to quals
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0295.schema.marcxml_check_trigger.sql
1 BEGIN;
2
3 INSERT INTO config.upgrade_log (version) VALUES ('0295'); -- gmcharlt
4
5 CREATE OR REPLACE FUNCTION biblio.check_marcxml_well_formed () RETURNS TRIGGER AS $func$
6 BEGIN
7
8     IF xml_is_well_formed(NEW.marc) THEN
9         RETURN NEW;
10     ELSE
11         RAISE EXCEPTION 'Attempted to % MARCXML that is not well formed', TG_OP;
12     END IF;
13     
14 END;
15 $func$ LANGUAGE PLPGSQL;
16
17 CREATE TRIGGER a_marcxml_is_well_formed BEFORE INSERT OR UPDATE ON biblio.record_entry FOR EACH ROW EXECUTE PROCEDURE biblio.check_marcxml_well_formed();
18
19 CREATE TRIGGER a_marcxml_is_well_formed BEFORE INSERT OR UPDATE ON authority.record_entry FOR EACH ROW EXECUTE PROCEDURE biblio.check_marcxml_well_formed();
20
21 COMMIT;