{"ok": true, "database": "media", "query_name": "get_video", "rows": [], "truncated": false, "columns": ["uid", "code", "titleEn", "titleJa", "descriptionEn", "descriptionJa", "jacketFullUrl", "jacketThumbUrl", "sampleUrl", "runtimeMins", "releaseDate", "createdAt", "updatedAt", "seriesUid", "series", "actresses", "makers", "labels", "directors", "categories", "galleryFull", "galleryThumb", "streams", "streamCount"], "query": {"sql": "SELECT\n  v.uid,\n  v.code,\n  v.titleEn,\n  v.titleJa,\n  v.descriptionEn,\n  v.descriptionJa,\n  v.jacketFullUrl,\n  v.jacketThumbUrl,\n  v.sampleUrl,\n  v.runtimeMins,\n  v.releaseDate,\n  v.createdAt,\n  v.updatedAt,\n\n  se.uid  AS seriesUid,\n  se.name AS series,\n\n  json((\n    SELECT json_group_array(\n      json_object('uid', a.uid, 'name', a.name, 'image', a.image)\n    )\n    FROM video_star vs\n    JOIN actresses a ON a.uid = vs.a_uid\n    WHERE vs.v_uid = v.uid\n  )) AS actresses,\n\n  json((\n    SELECT json_group_array(json_object('uid', m.uid, 'name', m.name))\n    FROM video_maker vm\n    JOIN makers m ON m.uid = vm.m_uid\n    WHERE vm.v_uid = v.uid\n  )) AS makers,\n\n  json((\n    SELECT json_group_array(json_object('uid', l.uid, 'name', l.name))\n    FROM video_label vl\n    JOIN labels l ON l.uid = vl.l_uid\n    WHERE vl.v_uid = v.uid\n  )) AS labels,\n\n  json((\n    SELECT json_group_array(json_object('uid', d.uid, 'name', d.name))\n    FROM video_director vd\n    JOIN directors d ON d.uid = vd.d_uid\n    WHERE vd.v_uid = v.uid\n  )) AS directors,\n\n  json((\n    SELECT json_group_array(json_object('uid', c.uid, 'name', c.name))\n    FROM video_category vc\n    JOIN categories c ON c.uid = vc.c_uid\n    WHERE vc.v_uid = v.uid\n  )) AS categories,\n\n  -- The ORDER BY has to be INSIDE the subquery. A trailing one would\n  -- order the aggregate's single output row rather than the stills\n  -- being aggregated, and the gallery would come back shuffled.\n  json((\n    SELECT json_group_array(u) FROM (\n      SELECT g.fullUrl AS u FROM video_gallery g\n      WHERE g.v_uid = v.uid AND g.fullUrl IS NOT NULL\n      ORDER BY g.position\n    )\n  )) AS galleryFull,\n\n  json((\n    SELECT json_group_array(u) FROM (\n      SELECT g.thumbUrl AS u FROM video_gallery g\n      WHERE g.v_uid = v.uid AND g.thumbUrl IS NOT NULL\n      ORDER BY g.position\n    )\n  )) AS galleryThumb,\n\n  json((\n    SELECT json_group_array(\n      json_object(\n        'id', s.id,\n        'source', s.source,\n        'sourceUrl', s.sourceUrl,\n        'embedUrl', s.embedUrl,\n        'proxyUrl', s.proxyUrl,\n        'directLink', s.directLink,\n        'kind', s.kind\n      )\n    )\n    FROM streams s WHERE s.v_uid = v.uid\n  )) AS streams,\n\n  (SELECT count(*) FROM streams s WHERE s.v_uid = v.uid) AS streamCount\n\nFROM videos v\nLEFT JOIN series se ON se.uid = v.s_uid\nWHERE (:uid  != '' AND v.uid  = :uid)\n   OR (:code != '' AND v.code = upper(:code))", "params": {"uid": "", "code": ""}}, "error": null, "private": false, "allow_execute_sql": false, "query_ms": 0.7948540151119232}