@@ -467,7 +467,9 @@ namespace {
467
467
bool insertTrackLibrary (QSqlQuery* pTrackLibraryInsert, const Track& track, DbId trackLocationId, QDateTime trackDateAdded) {
468
468
bindTrackLibraryValues (pTrackLibraryInsert, track);
469
469
470
- DEBUG_ASSERT (track.getDateAdded ().isNull ());
470
+ if (!track.getDateAdded ().isNull ()) {
471
+ qDebug () << " insertTrackLibrary: Track was added" << " track.getDateAdded()" << " and purged" ;
472
+ }
471
473
pTrackLibraryInsert->bindValue (" :datetime_added" , trackDateAdded);
472
474
473
475
// Written only once upon insert
@@ -640,7 +642,7 @@ TrackPointer TrackDAO::addTracksAddFile(const QFileInfo& fileInfo, bool unremove
640
642
qDebug () << " TrackDAO::addTracksAddFile:"
641
643
<< " Track has already been added to the database"
642
644
<< oldTrackId;
643
- return TrackPointer () ;
645
+ return pTrack ;
644
646
}
645
647
// Keep the GlobalTrackCache locked until the id of the Track
646
648
// object is known and has been updated in the cache.
@@ -857,6 +859,7 @@ bool TrackDAO::onPurgingTracks(
857
859
858
860
QStringList idList;
859
861
for (const auto & trackId: trackIds) {
862
+ GlobalTrackCacheLocker ().purgeTrackId (trackId);
860
863
idList.append (trackId.toString ());
861
864
}
862
865
QString idListJoined = idList.join (" ," );
@@ -905,12 +908,14 @@ bool TrackDAO::onPurgingTracks(
905
908
}
906
909
}
907
910
{
908
- // mark LibraryHash with needs_verification and invalidate the hash
911
+ // invalidate the hash in LibraryHash,
909
912
// in case the file was not deleted to detect it on a rescan
913
+ // Note: -1 is used as return value for missing entries,
914
+ // needs_verification is a temporary coloumn used during the scan only.
910
915
// TODO(XXX) delegate to libraryHashDAO
911
916
FwdSqlQuery query (m_database, QString (
912
- " UPDATE LibraryHashes SET needs_verification=1, "
913
- " hash=-1 WHERE directory_path in (%1)" ).arg (
917
+ " UPDATE LibraryHashes SET "
918
+ " hash=-2 WHERE directory_path in (%1)" ).arg (
914
919
SqlStringFormatter::formatList (m_database, directories)));
915
920
if (query.hasError () || !query.execPrepared ()) {
916
921
return false ;
0 commit comments