]> Some of my projects - localmylist.git/commitdiff
When finding the first unwatched episode, skip unwatched files for episodes which...
authorAPTX <marek321@gmail.com>
Tue, 16 Apr 2013 16:21:40 +0000 (18:21 +0200)
committerAPTX <marek321@gmail.com>
Tue, 16 Apr 2013 16:21:40 +0000 (18:21 +0200)
localmylist/database.cpp

index 5ad7cf65b839e05bfadcf47a585657aeacb90f05..340971845058397ffa85fdd34d5b19f88d76dcbc 100644 (file)
@@ -99,6 +99,7 @@ OpenFileData Database::firstUnwatchedByTitle(const QString &title)
                "       WHERE f.my_watched IS NULL "
                "               AND lower(at.title) = lower(:title) "
                "               AND fl.path IS NOT NULL "
+               "               AND NOT EXISTS (SELECT 1 FROM file WHERE eid = e.eid AND my_watched IS NOT NULL LIMIT 1) "
                "ORDER BY epno ASC ");
                q.bindValue(":title", title);
 
@@ -116,6 +117,7 @@ OpenFileData Database::firstUnwatchedByTitle(const QString &title)
        "       WHERE f.my_watched IS NULL "
        "               AND at.title ILIKE :fuzzyTitle "
        "               AND fl.path IS NOT NULL "
+       "               AND NOT EXISTS (SELECT 1 FROM file WHERE eid = e.eid AND my_watched IS NOT NULL LIMIT 1) "
        "GROUP BY f.fid, a.title_romaji, e.title_english, e.epno, fl.path, fl.host_id "
        "ORDER BY epno ASC ");
        q.bindValue(":fuzzyTitle", "%" + title + "%");
@@ -135,6 +137,7 @@ OpenFileData Database::firstUnwatchedByAid(int aid)
        "       WHERE f.my_watched IS NULL "
        "               AND f.aid = :aid "
        "               AND fl.path IS NOT NULL "
+       "               AND NOT EXISTS (SELECT 1 FROM file WHERE eid = e.eid AND my_watched IS NOT NULL LIMIT 1) "
        "ORDER BY e.epno ASC ");
        q.bindValue(":aid", aid);