Mercurial > gemma
comparison schema/gemma.sql @ 4033:4f2f34f5d14d
Schema: delete only import entry that are for deletion.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 23 Jul 2019 16:59:43 +0200 |
parents | 4bf1c8d91bac |
children | fbd7c012f10c b79b60c0cc5a |
comparison
equal
deleted
inserted
replaced
4032:2fcfae3daa7d | 4033:4f2f34f5d14d |
---|---|
874 $$ | 874 $$ |
875 DECLARE | 875 DECLARE |
876 tmp RECORD; | 876 tmp RECORD; |
877 BEGIN | 877 BEGIN |
878 FOR tmp IN | 878 FOR tmp IN |
879 SELECT * FROM import.track_imports WHERE import_id = imp_id | 879 SELECT * FROM import.track_imports WHERE import_id = imp_id AND NOT deletion |
880 LOOP | 880 LOOP |
881 EXECUTE format('DELETE FROM %s WHERE id = $1', tmp.relation) USING tmp.key; | 881 EXECUTE format('DELETE FROM %s WHERE id = $1', tmp.relation) USING tmp.key; |
882 END LOOP; | 882 END LOOP; |
883 END; | |
884 $$ | |
885 LANGUAGE plpgsql; | |
886 | |
887 CREATE FUNCTION import.del_import() RETURNS trigger AS | |
888 $$ | |
889 BEGIN | |
890 EXECUTE format('DELETE FROM %s WHERE id = $1', OLD.relation) USING OLD.key; | |
891 RETURN NULL; | |
892 END; | 883 END; |
893 $$ | 884 $$ |
894 LANGUAGE plpgsql; | 885 LANGUAGE plpgsql; |
895 | 886 |
896 CREATE SCHEMA caching | 887 CREATE SCHEMA caching |