feat:
This commit is contained in:
parent
b400f22844
commit
cbbc2c179d
3 changed files with 74 additions and 66 deletions
|
|
@ -95,7 +95,7 @@ LEFT JOIN tags as g ON (tt.tag_id = g.id)
|
|||
LEFT JOIN studios as s ON (t.studio_id = s.id)
|
||||
LEFT JOIN images as si ON (s.illust_id = si.id)
|
||||
|
||||
WHERE id = sqlc.arg('title_id')::bigint
|
||||
WHERE t.id = sqlc.arg('title_id')::bigint
|
||||
GROUP BY
|
||||
t.id, i.id, s.id, si.id;
|
||||
|
||||
|
|
@ -187,7 +187,13 @@ WHERE
|
|||
END
|
||||
)
|
||||
|
||||
AND (t.title_status::text IN (sqlc.arg('ongoing')::text, sqlc.arg('finished')::text, sqlc.arg('planned')::text))
|
||||
AND (
|
||||
-- Если массив пуст (NULL или []) — не фильтруем
|
||||
cardinality(sqlc.arg('title_statuses')::text[]) = 0
|
||||
OR
|
||||
-- Иначе: статус есть в списке
|
||||
t.title_status = ANY(sqlc.arg('title_statuses')::text[])
|
||||
)
|
||||
AND (sqlc.narg('rating')::float IS NULL OR t.rating >= sqlc.narg('rating')::float)
|
||||
AND (sqlc.narg('release_year')::int IS NULL OR t.release_year = sqlc.narg('release_year')::int)
|
||||
AND (sqlc.narg('release_season')::release_season_t IS NULL OR t.release_season = sqlc.narg('release_season')::release_season_t)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue