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/19.sql
DROP VIEW IF EXISTS public.video;
CREATE VIEW public.video
AS
SELECT
   video_unit.id,
   video_unit.id_user,
   video_unit.item_type,
   video_unit.type,
   video_unit.filename,
   video_unit.filesize,
   video_unit.createtime,
   video_unit.takentime,
   video_unit.mtime,
   video_unit.duplicate_hash,
   video_unit.cache_key,
   video_unit.resolution,
   video_unit.index_stage,
   video_unit.version,
   video_unit.id_item,
   video_unit.id_folder,
   video_unit.id_geocoding,
   video_unit.is_major,
   video_additional.duration,
   video_additional.video_info,
   video_additional.audio_info
FROM
   video_additional,
   (SELECT * FROM unit WHERE type = 1) AS video_unit
WHERE
   video_unit.id = video_additional.id_unit;
DROP VIEW IF EXISTS public.live;
CREATE VIEW public.live
AS
SELECT
   live_unit.id,
   live_unit.id_user,
   live_unit.item_type,
   live_unit.type,
   live_unit.filename,
   live_unit.filesize,
   live_unit.createtime,
   live_unit.takentime,
   live_unit.mtime,
   live_unit.duplicate_hash,
   live_unit.cache_key,
   live_unit.resolution,
   live_unit.index_stage,
   live_unit.version,
   live_unit.id_item,
   live_unit.id_folder,
   live_unit.id_geocoding,
   live_unit.is_major,
   live_additional.grouping_key
FROM
   live_additional,
   (SELECT * FROM unit WHERE item_type = 3) AS live_unit
WHERE
   live_unit.id = live_additional.id_unit;
DROP VIEW IF EXISTS public.general_tag_album_view;
CREATE VIEW public.general_tag_album_view
AS
SELECT
  T.id as id_general_tag, T.name, SS.item_count, T.id_user
FROM
  general_tag as T, (
      SELECT count(DISTINCT(U.id_item)) AS item_count, R.id_general_tag, U.id_user
      FROM many_unit_has_many_general_tag as R, unit as U
      WHERE U.id = R.id_unit AND U.is_major = 't'
      GROUP BY R.id_general_tag, U.id_user
    ) SS WHERE T.id = SS.id_general_tag AND T.id_user = SS.id_user;
DROP VIEW IF EXISTS public.general_tag_timeline_view;
CREATE OR REPLACE VIEW public.general_tag_timeline_view
AS
SELECT
    U.id_item,
    U.id_user,
    U.item_type,
    U.type as unit_type,
    U.id as id_unit,
    AGG_TAG.tags AS id_general_tag,
    U.takentime
FROM unit as U left outer join (
    SELECT unit.id, unit.id_user, array_agg(distinct(R.id_general_tag)) as tags
    FROM unit left outer join many_unit_has_many_general_tag as R on unit.id = R.id_unit
    GROUP BY unit.id, unit.id_user
) as AGG_TAG ON U.id = AGG_TAG.id AND U.id_user = AGG_TAG.id_user
WHERE U.is_major = 't';
DROP VIEW IF EXISTS public.unit_to_general_tag_view;
CREATE VIEW public.unit_to_general_tag_view
AS
SELECT
   G.id as id_general_tag, name, R.id_unit, G.id_user
   FROM
   public.general_tag as G
   JOIN public.many_unit_has_many_general_tag as R ON G.id = R.id_general_tag;
ALTER TABLE public.video_convert DROP COLUMN id_user;
ALTER TABLE public.video_additional DROP COLUMN id_user;
ALTER TABLE public.thumb_preview DROP COLUMN id_user;
ALTER TABLE public.thumbnail DROP COLUMN id_user;
ALTER TABLE public.metadata DROP COLUMN id_user;
ALTER TABLE public.live_additional DROP COLUMN id_user;
ALTER TABLE public.many_unit_has_many_general_tag DROP COLUMN id_user;