Mercurial > gemma
diff schema/gemma.sql @ 1193:58acc343b1b6
Implemented the db stuff of the review process. Needs testing.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 16 Nov 2018 18:35:09 +0100 |
parents | e3de65179889 |
children | 7db850de0952 |
line wrap: on
line diff
--- a/schema/gemma.sql Fri Nov 16 17:51:44 2018 +0100 +++ b/schema/gemma.sql Fri Nov 16 18:35:09 2018 +0100 @@ -549,10 +549,24 @@ UNIQUE (relation, key) ); +CREATE FUNCTION waterway.del_import(imp_id int) RETURNS void AS +$$ +DECLARE + tmp RECORD; +BEGIN + FOR tmp IN + SELECT * FROM waterway.track_imports WHERE import_id = imp_id + LOOP + EXECUTE format('DELETE FROM %s WHERE id = $1', tmp.relation) USING tmp.key; + END LOOP; +END; +$$ +LANGUAGE plpgsql; + CREATE FUNCTION waterway.del_import() RETURNS trigger AS $$ BEGIN - EXECUTE format('DELETE FROM %I WHERE id = $1', OLD.relation) USING OLD.key; + EXECUTE format('DELETE FROM %s WHERE id = $1', OLD.relation) USING OLD.key; END; $$ LANGUAGE plpgsql; @@ -560,4 +574,6 @@ CREATE TRIGGER delete_import AFTER DELETE ON waterway.track_imports FOR EACH ROW EXECUTE PROCEDURE waterway.del_import(); + + COMMIT;