diff --git a/headphones/__init__.py b/headphones/__init__.py index c6acc763..2d622766 100644 --- a/headphones/__init__.py +++ b/headphones/__init__.py @@ -417,6 +417,8 @@ def dbcheck(): 'CREATE INDEX IF NOT EXISTS tracks_Location ON tracks(Location ASC)') c.execute( 'CREATE INDEX IF NOT EXISTS alltracks_Location ON alltracks(Location ASC)') + c.execute( + 'CREATE INDEX IF NOT EXISTS tracks_artistid ON tracks(ArtistID ASC)') try: c.execute('SELECT IncludeExtras from artists') diff --git a/headphones/albumswitcher.py b/headphones/albumswitcher.py index 74f1077f..89325ed7 100644 --- a/headphones/albumswitcher.py +++ b/headphones/albumswitcher.py @@ -85,8 +85,8 @@ def switch(AlbumID, ReleaseID): # Update have track counts on index totaltracks = len(myDB.select( - 'SELECT TrackTitle from tracks WHERE ArtistID=? AND AlbumID IN (SELECT AlbumID FROM albums WHERE Status != "Ignored")', - [newalbumdata['ArtistID']])) + 'SELECT TrackTitle from tracks AS tr INNER JOIN albums AS al ON al.AlbumID = tr.AlbumID WHERE al.ArtistID=? ' + 'AND al.Status != "Ignored"', [newalbumdata['ArtistID']])) havetracks = len(myDB.select( 'SELECT TrackTitle from tracks WHERE ArtistID=? AND Location IS NOT NULL', [newalbumdata['ArtistID']]))