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;