From 2572e19d2d5310263c450f4717ee58d2d746b4ea Mon Sep 17 00:00:00 2001 From: Javier Alfonso Bellota de Frutos Date: Tue, 31 Jul 2012 13:46:02 +0200 Subject: DuplicateSongDetector: Fix SQL so duplicates are from the same source The SQL query was getting duplicate tracks with one of the tracks having PrimarySourceID=1. Make sure the two tracks have the same PrimarySourceID, and use the MusicLibrary.DbId instead of hardcoding the value. Signed-off-by: Bertrand Lorentz --- .../Banshee.DuplicateSongDetector/SongDuplicateView.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/DuplicateSongDetector/Banshee.DuplicateSongDetector/SongDuplicateView.cs b/src/DuplicateSongDetector/Banshee.DuplicateSongDetector/SongDuplicateView.cs index b13d1c2..6f168cd 100644 --- a/src/DuplicateSongDetector/Banshee.DuplicateSongDetector/SongDuplicateView.cs +++ b/src/DuplicateSongDetector/Banshee.DuplicateSongDetector/SongDuplicateView.cs @@ -210,8 +210,10 @@ namespace Banshee.DuplicateSongDetector FROM CoreTracks CT,CoreAlbums CA ON Ct.AlbumID = CA.AlbumID AND CT.TrackID IN ( SELECT - CT1.TrackID from CoreTracks CT1,CoreTracks CT2 where - CT1.PrimarySourceID=1 + CT1.TrackID from CoreTracks CT1,CoreTracks CT2 + WHERE + CT1.PrimarySourceID = ? + AND CT1.PrimarySourceID = CT2.PrimarySourceID AND CT1.TrackID <> CT2.TrackID AND CT1.TitleLowered = CT2.TitleLowered AND CT1.AlbumID = CT2.AlbumID @@ -219,7 +221,8 @@ namespace Banshee.DuplicateSongDetector AND CT1.Disc = CT2.Disc AND CT1.Duration = CT2.Duration ) - ORDER BY CT.Title,CT.ArtistID,CT.TrackNumber")); + ORDER BY CT.Title,CT.ArtistID,CT.TrackNumber", + ServiceManager.SourceManager.MusicLibrary.DbId)); while (reader.Read ()) { int ID = reader.Get (0); String Title = reader.Get (1); -- cgit v1.2.3