db: Replace years.year with albums.release in the default sort order

And remove the INNER JOIN with the years table since it is no longer
needed.

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-11-13 21:19:52 -05:00
parent 0b818bc067
commit ee6bf059c1
4 changed files with 5 additions and 14 deletions

View File

@ -28,7 +28,6 @@ class Playlist(GObject.GObject):
f"INNER JOIN artists USING(artistid) "
f"INNER JOIN albums USING(albumid) "
f"INNER JOIN discs USING(discid) "
f"INNER JOIN years USING(yearid) "
f"WHERE tracks.{self._rowkey}=? "
f"ORDER BY {order} LIMIT 1 OFFSET ?",
[ self.rowid, n ]).fetchone()
@ -40,7 +39,6 @@ class Playlist(GObject.GObject):
f"INNER JOIN artists USING(artistid) "
f"INNER JOIN albums USING(albumid) "
f"INNER JOIN discs USING(discid) "
f"INNER JOIN years USING(yearid) "
f"WHERE tracks.{self._rowkey}=? "
f"ORDER BY {order}", [ self.rowid ]).fetchall()
return [ track.Table.factory(row) for row in rows ]
@ -55,8 +53,7 @@ class Playlist(GObject.GObject):
f"FROM tracks "
f"INNER JOIN artists USING(artistid) "
f"INNER JOIN albums USING(albumid) "
f"INNER JOIN discs USING(discid) "
f"INNER JOIN years USING(yearid)) "
f"INNER JOIN discs USING(discid)) "
f"WHERE trackid=?", [ track.rowid ])
return cur.fetchone()[1] - 1
@ -170,7 +167,6 @@ class MappedPlaylist(Playlist):
f"INNER JOIN artists USING(artistid) "
f"INNER JOIN albums USING(albumid) "
f"INNER JOIN discs USING(discid) "
f"INNER JOIN years USING(yearid) "
f"WHERE {self._rowkey}=? "
f"ORDER BY {order} LIMIT 1 OFFSET ?",
[ self._rowid, n ]).fetchone()
@ -183,7 +179,6 @@ class MappedPlaylist(Playlist):
f"INNER JOIN artists USING(artistid) "
f"INNER JOIN albums USING(albumid) "
f"INNER JOIN discs USING(discid) "
f"INNER JOIN years USING(yearid) "
f"WHERE {self._rowkey}=? ORDER BY {order}",
[ self._rowid ]).fetchall()
return [ track.Table.factory(row) for row in rows ]
@ -197,8 +192,7 @@ class MappedPlaylist(Playlist):
f"INNER JOIN {self.map_table} USING (trackid) "
f"INNER JOIN artists USING(artistid) "
f"INNER JOIN albums USING(albumid) "
f"INNER JOIN discs USING(discid) "
f"INNER JOIN years USING(yearid)) "
f"INNER JOIN discs USING(discid)) "
f"WHERE {self._rowkey}=? AND trackid=?",
[ self.rowid, track.rowid ]).fetchone()
return row[2] - 1 if row else None

View File

@ -8,7 +8,7 @@ from gi.repository import GObject
from . import sql
from . import table
DefaultSort = [ "artists.sort ASC", "albums.sort ASC", "years.year ASC",
DefaultSort = [ "artists.sort ASC", "albums.release ASC", "albums.sort ASC",
"discs.number ASC", "tracks.number ASC", "tracks.trackid ASC" ]
class PlaylistState(GObject.GObject):

View File

@ -63,8 +63,8 @@ class TestPlaylistStateTable(unittest.TestCase):
def test_default_sort(self):
self.assertEqual(db.state.DefaultSort[0], "artists.sort ASC")
self.assertEqual(db.state.DefaultSort[1], "albums.sort ASC")
self.assertEqual(db.state.DefaultSort[2], "years.year ASC")
self.assertEqual(db.state.DefaultSort[1], "albums.release ASC")
self.assertEqual(db.state.DefaultSort[2], "albums.sort ASC")
self.assertEqual(db.state.DefaultSort[3], "discs.number ASC")
self.assertEqual(db.state.DefaultSort[4], "tracks.number ASC")

View File

@ -32,7 +32,6 @@ class Collection(playlist.Playlist):
f"INNER JOIN artists USING(artistid) "
f"INNER JOIN albums USING(albumid) "
f"INNER JOIN discs USING(discid) "
f"INNER JOIN years USING(yearid) "
f"INNER JOIN libraries USING(libraryid) "
f"WHERE libraries.enabled=1 "
f"ORDER BY {order} LIMIT 1 OFFSET ?",
@ -45,7 +44,6 @@ class Collection(playlist.Playlist):
f"INNER JOIN artists USING(artistid) "
f"INNER JOIN albums USING(albumid) "
f"INNER JOIN discs USING(discid) "
f"INNER JOIN years USING(yearid) "
f"INNER JOIN libraries USING(libraryid) "
f"WHERE libraries.enabled=1 "
f"ORDER BY {order}").fetchall()
@ -59,7 +57,6 @@ class Collection(playlist.Playlist):
f"INNER JOIN artists USING(artistid) "
f"INNER JOIN albums USING(albumid) "
f"INNER JOIN discs USING(discid) "
f"INNER JOIN years USING(yearid) "
f"INNER JOIN libraries USING(libraryid) "
f"WHERE libraries.enabled=1) "
f"WHERE trackid=?", [ track.rowid ])