LP#1386347 stamping upgrade for hold clear copy maps
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / 0902.schema.clear_hold_copy_map.sql
1 BEGIN;
2
3 SELECT evergreen.upgrade_deps_block_check('0902', :eg_version);
4
5 CREATE OR REPLACE FUNCTION action.hold_request_clear_map () RETURNS TRIGGER AS $$
6 BEGIN
7   DELETE FROM action.hold_copy_map WHERE hold = NEW.id;
8   RETURN NEW;
9 END;
10 $$ LANGUAGE PLPGSQL;
11
12 CREATE TRIGGER hold_request_clear_map_tgr
13     AFTER UPDATE ON action.hold_request
14     FOR EACH ROW
15     WHEN (
16         (NEW.cancel_time IS NOT NULL AND OLD.cancel_time IS NULL)
17         OR (NEW.fulfillment_time IS NOT NULL AND OLD.fulfillment_time IS NULL)
18     )
19     EXECUTE PROCEDURE action.hold_request_clear_map();
20
21 COMMIT;
22