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