diff options
author | Arno <arno@disconnect.de> | 2016-04-02 12:20:02 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-04-02 12:20:02 +0200 |
commit | 26ba486f27f55251d9ffadcdf18e50e52f3d627f (patch) | |
tree | 9413505f63c388a9bd30c6865ed6164311edf558 /smdirwatcher.cpp | |
parent | 3f5ee806075e9c68862fd6cba2650b969511c916 (diff) | |
download | SheMov-26ba486f27f55251d9ffadcdf18e50e52f3d627f.tar.gz SheMov-26ba486f27f55251d9ffadcdf18e50e52f3d627f.tar.bz2 SheMov-26ba486f27f55251d9ffadcdf18e50e52f3d627f.zip |
Reconnect cloned databases
Try to reconnect cloned databases on error, mainly SmDirWatcher and
ArchiveCollector. ConsistencyCheck doesn't matter, since it's on the
stack. It compiles, but no idea if it actually works...
Diffstat (limited to 'smdirwatcher.cpp')
-rw-r--r-- | smdirwatcher.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/smdirwatcher.cpp b/smdirwatcher.cpp index 3fec952..46ec905 100644 --- a/smdirwatcher.cpp +++ b/smdirwatcher.cpp @@ -98,7 +98,11 @@ int SmDirWatcher::presenceData(QString &md5){ QSqlQuery present1Q(mDb); present1Q.prepare("SELECT COUNT(*) FROM files WHERE cmd5sum = :md5"); present1Q.bindValue(":md5", md5); - present1Q.exec(); + if(!present1Q.exec()){ + mDb.close(); + mDb.open(); + return SmDirModel::InNone; + } while(present1Q.next()){ int c = present1Q.value(0).toInt(); if(c > 0){ |