|
|
|
@@ -109,23 +109,29 @@ CREATE TRIGGER es_insert_dataset |
|
|
|
ALTER TABLE public.dataset ENABLE ALWAYS TRIGGER es_insert_dataset; |
|
|
|
|
|
|
|
|
|
|
|
DROP TRIGGER IF EXISTS es_udpate_dataset_file_name_delete on public.attachment; |
|
|
|
DROP TRIGGER IF EXISTS es_udpate_dataset_file_name on public.attachment; |
|
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION public.udpate_dataset_file_name_delete() RETURNS trigger AS |
|
|
|
CREATE OR REPLACE FUNCTION public.udpate_dataset_file_name() RETURNS trigger AS |
|
|
|
$def$ |
|
|
|
BEGIN |
|
|
|
update public.dataset_es SET file_name=(select array_to_string(array_agg(name order by created_unix desc),'-#,#-') from public.attachment where dataset_id=OLD.dataset_id and is_private=false) where id=OLD.dataset_id; |
|
|
|
if (TG_OP = 'UPDATE') then |
|
|
|
update public.dataset_es SET file_name=(select array_to_string(array_agg(name order by created_unix desc),'-#,#-') from public.attachment where dataset_id=NEW.dataset_id and is_private=false) where id=NEW.dataset_id; |
|
|
|
elsif (TG_OP = 'INSERT') then |
|
|
|
update public.dataset_es SET file_name=(select array_to_string(array_agg(name order by created_unix desc),'-#,#-') from public.attachment where dataset_id=NEW.dataset_id and is_private=false) where id=NEW.dataset_id; |
|
|
|
elsif (TG_OP = 'DELETE') then |
|
|
|
update public.dataset_es SET file_name=(select array_to_string(array_agg(name order by created_unix desc),'-#,#-') from public.attachment where dataset_id=OLD.dataset_id and is_private=false) where id=OLD.dataset_id; |
|
|
|
end if; |
|
|
|
return NEW; |
|
|
|
END; |
|
|
|
$def$ |
|
|
|
LANGUAGE plpgsql; |
|
|
|
|
|
|
|
|
|
|
|
CREATE TRIGGER es_udpate_dataset_file_name_delete |
|
|
|
AFTER DELETE ON public.attachment |
|
|
|
FOR EACH ROW EXECUTE PROCEDURE udpate_dataset_file_name_delete(); |
|
|
|
CREATE TRIGGER es_udpate_dataset_file_name |
|
|
|
AFTER INSERT OR UPDATE OR DELETE ON public.attachment |
|
|
|
FOR EACH ROW EXECUTE PROCEDURE udpate_dataset_file_name(); |
|
|
|
|
|
|
|
ALTER TABLE public.attachment ENABLE ALWAYS TRIGGER es_udpate_dataset_file_name_delete; |
|
|
|
ALTER TABLE public.attachment ENABLE ALWAYS TRIGGER es_udpate_dataset_file_name; |
|
|
|
|
|
|
|
DROP TRIGGER IF EXISTS es_update_dataset on public.dataset; |
|
|
|
|
|
|
|
|