[DB] Better reporting database scan results (errors, grouped duplicates)
This commit is contained in:
@@ -395,7 +395,10 @@ Updater::processAudioFile( const boost::filesystem::path& file, Stats& stats)
|
|||||||
|
|
||||||
MetaData::Items items;
|
MetaData::Items items;
|
||||||
if (!_metadataParser.parse(file, items))
|
if (!_metadataParser.parse(file, items))
|
||||||
|
{
|
||||||
|
stats.nbScanErrors++;
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<unsigned char> checksum ;
|
std::vector<unsigned char> checksum ;
|
||||||
computeCrc(file, checksum);
|
computeCrc(file, checksum);
|
||||||
@@ -418,6 +421,7 @@ Updater::processAudioFile( const boost::filesystem::path& file, Stats& stats)
|
|||||||
track.remove();
|
track.remove();
|
||||||
stats.nbRemoved++;
|
stats.nbRemoved++;
|
||||||
}
|
}
|
||||||
|
stats.nbScanErrors++;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (items.find(MetaData::Type::Duration) == items.end()
|
if (items.find(MetaData::Type::Duration) == items.end()
|
||||||
@@ -431,6 +435,7 @@ Updater::processAudioFile( const boost::filesystem::path& file, Stats& stats)
|
|||||||
track.remove();
|
track.remove();
|
||||||
stats.nbRemoved++;
|
stats.nbRemoved++;
|
||||||
}
|
}
|
||||||
|
stats.nbScanErrors++;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -90,14 +90,14 @@ Track::getAllPaths(Wt::Dbo::Session& session)
|
|||||||
std::vector<Track::pointer>
|
std::vector<Track::pointer>
|
||||||
Track::getMBIDDuplicates(Wt::Dbo::Session& session)
|
Track::getMBIDDuplicates(Wt::Dbo::Session& session)
|
||||||
{
|
{
|
||||||
Wt::Dbo::collection<pointer> res = session.query<pointer>( "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<pointer> res = session.query<pointer>( "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<pointer>(res.begin(), res.end());
|
return std::vector<pointer>(res.begin(), res.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Track::pointer>
|
std::vector<Track::pointer>
|
||||||
Track::getChecksumDuplicates(Wt::Dbo::Session& session)
|
Track::getChecksumDuplicates(Wt::Dbo::Session& session)
|
||||||
{
|
{
|
||||||
Wt::Dbo::collection<pointer> res = session.query<pointer>( "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<pointer> res = session.query<pointer>( "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<pointer>(res.begin(), res.end());
|
return std::vector<pointer>(res.begin(), res.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user