HEX
Server: Apache/2.4.63 (Unix)
System: Linux Synopilou92 4.4.302+ #72806 SMP Mon Jul 21 23:16:00 CST 2025 x86_64
User: pilou92 (1026)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /volume1/@appstore/SynologyPhotos/etc/sql/40.sql
DROP FUNCTION IF EXISTS public.delete_person_item_count_func() CASCADE;
CREATE FUNCTION public.delete_person_item_count_func()
  RETURNS trigger
  LANGUAGE plpgsql
  VOLATILE
  CALLED ON NULL INPUT
  SECURITY INVOKER
  COST 1
  AS $$
DECLARE
  new_count integer;
BEGIN
  SELECT count(DISTINCT id_item) AS item_count FROM person_face_view
  WHERE id_user = OLD.id_user AND id_person = OLD.id_person AND is_major = 't'
  INTO new_count;
  IF (new_count > 0) THEN
    UPDATE public.person_item_count SET item_count = new_count WHERE id_person = OLD.id_person AND id_user = OLD.id_user;
  ELSE
    DELETE FROM public.person_item_count WHERE id_person = OLD.id_person AND id_user = OLD.id_user;
  END IF;
  RETURN NULL;
END;
$$;
DROP TRIGGER IF EXISTS delete_person_item_count_trigger ON public.face CASCADE;
CREATE TRIGGER delete_person_item_count_trigger
  AFTER DELETE
  ON public.face
  FOR EACH ROW EXECUTE PROCEDURE public.delete_person_item_count_func();