OpenFileData Database::firstUnwatchedByExactTitle(const QString &title)
{
QSqlQuery &q = prepare(
- "SELECT f.fid, a.title_romaji, e.title_english, e.epno, fl.path, fl.host_id FROM file f "
+ "SELECT f.fid, a.title_romaji, e.title_english, e.epno, fl.path, fl.host_id, "
+ " CASE WHEN split_part(f.resolution, 'x', 1) = '' OR split_part(f.resolution, 'x', 2) = '' THEN 0 ELSE split_part(f.resolution, 'x', 1)::int * split_part(f.resolution, 'x', 2)::int END pixels "
+ " FROM file f "
" LEFT JOIN anime a ON f.aid = a.aid "
" LEFT JOIN anime_title at ON f.aid = at.aid "
" LEFT JOIN episode e ON f.eid = e.eid "
" SELECT 1 FROM file f "
" JOIN file_episode_rel fer ON fer.eid = e.eid AND f.fid = fer.fid "
" WHERE my_watched IS NOT NULL) "
- "ORDER BY epno ASC ");
+ "ORDER BY epno ASC, pixels DESC ");
q.bindValue(":title", title);
return readOpenFileData(q);
return ofd;
QSqlQuery &q = prepare(
- "SELECT f.fid, a.title_romaji, e.title_english, e.epno, fl.path, fl.host_id FROM file f "
+ "SELECT f.fid, a.title_romaji, e.title_english, e.epno, fl.path, fl.host_id, "
+ " CASE WHEN split_part(f.resolution, 'x', 1) = '' OR split_part(f.resolution, 'x', 2) = '' THEN 0 ELSE split_part(f.resolution, 'x', 1)::int * split_part(f.resolution, 'x', 2)::int END pixels "
+ " FROM file f "
" LEFT JOIN anime a ON f.aid = a.aid "
" LEFT JOIN anime_title at ON f.aid = at.aid "
" LEFT JOIN episode e ON f.eid = e.eid "
" SELECT 1 FROM file f "
" JOIN file_episode_rel fer ON fer.eid = e.eid AND f.fid = fer.fid "
" WHERE my_watched IS NOT NULL) "
- "ORDER BY epno ASC ");
+ "ORDER BY epno ASC, pixels DESC ");
q.bindValue(":fuzzyTitle", "%" + title + "%");
ofd = readOpenFileData(q);