]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/0511.schema.fake_fkey_tgr-for-inherited-tables.sql
LP1779158 Angular7 and ng-lint updates
[Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0511.schema.fake_fkey_tgr-for-inherited-tables.sql
1 BEGIN;
2
3 INSERT INTO config.upgrade_log (version) VALUES ('0511'); -- miker
4
5 CREATE OR REPLACE FUNCTION evergreen.fake_fkey_tgr () RETURNS TRIGGER AS $F$
6 DECLARE
7     copy_id BIGINT;
8 BEGIN
9     EXECUTE 'SELECT ($1).' || quote_ident(TG_ARGV[0]) INTO copy_id USING NEW;
10     PERFORM * FROM asset.copy WHERE id = copy_id;
11     IF NOT FOUND THEN
12         RAISE EXCEPTION 'Key (%.%=%) does not exist in asset.copy', TG_TABLE_SCHEMA, TG_TABLE_NAME, copy_id;
13     END IF;
14     RETURN NULL;
15 END;
16 $F$ LANGUAGE PLPGSQL;
17
18 CREATE TRIGGER action_circulation_target_copy_trig AFTER INSERT OR UPDATE ON action.circulation FOR EACH ROW EXECUTE PROCEDURE evergreen.fake_fkey_tgr('target_copy');
19
20 COMMIT;
21