diff --git a/src/database-updater/DatabaseUpdater.cpp b/src/database-updater/DatabaseUpdater.cpp index 7857d1f3..c5b7b1c4 100644 --- a/src/database-updater/DatabaseUpdater.cpp +++ b/src/database-updater/DatabaseUpdater.cpp @@ -247,7 +247,7 @@ Updater::process(boost::system::error_code err) checkDuplicatedAudioFiles(stats); - LMS_LOG(DBUPDATER, INFO) << "Scan complete. Changes = " << stats.nbChanges() << "(added = " << stats.nbAdded << ", nbRemoved = " << stats.nbRemoved << ", nbModified = " << stats.nbModified << "), Errors = " << stats.nbScanErrors; + LMS_LOG(DBUPDATER, INFO) << "Scan complete. Changes = " << stats.nbChanges() << " (added = " << stats.nbAdded << ", nbRemoved = " << stats.nbRemoved << ", nbModified = " << stats.nbModified << "), Errors = " << stats.nbScanErrors; // Update database stats boost::posix_time::ptime now = boost::posix_time::second_clock::local_time(); @@ -395,7 +395,10 @@ Updater::processAudioFile( const boost::filesystem::path& file, Stats& stats) MetaData::Items items; if (!_metadataParser.parse(file, items)) + { + stats.nbScanErrors++; return; + } std::vector checksum ; computeCrc(file, checksum); @@ -418,6 +421,7 @@ Updater::processAudioFile( const boost::filesystem::path& file, Stats& stats) track.remove(); stats.nbRemoved++; } + stats.nbScanErrors++; return; } if (items.find(MetaData::Type::Duration) == items.end() @@ -431,6 +435,7 @@ Updater::processAudioFile( const boost::filesystem::path& file, Stats& stats) track.remove(); stats.nbRemoved++; } + stats.nbScanErrors++; return; } diff --git a/src/database/Track.cpp b/src/database/Track.cpp index f8f8a811..495d1670 100644 --- a/src/database/Track.cpp +++ b/src/database/Track.cpp @@ -90,14 +90,14 @@ Track::getAllPaths(Wt::Dbo::Session& session) std::vector Track::getMBIDDuplicates(Wt::Dbo::Session& session) { - Wt::Dbo::collection res = session.query( "SELECT track FROM track WHERE mbid in (SELECT mbid FROM track WHERE mbid <> '' GROUP BY mbid HAVING COUNT (*) > 1)").orderBy("track.mbid"); + Wt::Dbo::collection res = session.query( "SELECT track FROM track WHERE mbid in (SELECT mbid FROM track WHERE mbid <> '' GROUP BY mbid HAVING COUNT (*) > 1)").orderBy("track.release_id,track.disc_number,track.track_number,track.mbid"); return std::vector(res.begin(), res.end()); } std::vector Track::getChecksumDuplicates(Wt::Dbo::Session& session) { - Wt::Dbo::collection res = session.query( "SELECT track FROM track WHERE checksum in (SELECT checksum FROM track WHERE Length(checksum) > 0 GROUP BY checksum HAVING COUNT(*) > 1)").orderBy("track.checksum"); + Wt::Dbo::collection res = session.query( "SELECT track FROM track WHERE checksum in (SELECT checksum FROM track WHERE Length(checksum) > 0 GROUP BY checksum HAVING COUNT(*) > 1)").orderBy("track.release_id,track.disc_number,track.track_number,track.checksum"); return std::vector(res.begin(), res.end()); }