3 SELECT evergreen.upgrade_deps_block_check('0616', :eg_version);
5 CREATE OR REPLACE FUNCTION actor.org_unit_prox_update () RETURNS TRIGGER as $$
9 IF TG_OP = 'DELETE' THEN
11 DELETE FROM actor.org_unit_proximity WHERE (from_org = OLD.id or to_org= OLD.id);
15 IF TG_OP = 'UPDATE' THEN
17 IF NEW.parent_ou <> OLD.parent_ou THEN
19 DELETE FROM actor.org_unit_proximity WHERE (from_org = OLD.id or to_org= OLD.id);
20 INSERT INTO actor.org_unit_proximity (from_org, to_org, prox)
21 SELECT l.id, r.id, actor.org_unit_proximity(l.id,r.id)
22 FROM actor.org_unit l, actor.org_unit r
23 WHERE (l.id = NEW.id or r.id = NEW.id);
29 IF TG_OP = 'INSERT' THEN
31 INSERT INTO actor.org_unit_proximity (from_org, to_org, prox)
32 SELECT l.id, r.id, actor.org_unit_proximity(l.id,r.id)
33 FROM actor.org_unit l, actor.org_unit r
34 WHERE (l.id = NEW.id or r.id = NEW.id);
44 CREATE TRIGGER proximity_update_tgr AFTER INSERT OR UPDATE OR DELETE ON actor.org_unit FOR EACH ROW EXECUTE PROCEDURE actor.org_unit_prox_update ();