Mercurial > dedupe
comparison SqliteDBLink.cpp @ 5:5e4985407feb
Add commandline tool updateDeDupe.
Fix removal of removed files from DB.
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Wed, 22 Aug 2012 00:41:15 +0200 |
| parents | 2833b7f8884a |
| children | d6fdca3bf24e |
comparison
equal
deleted
inserted
replaced
| 4:f489b0c9bf99 | 5:5e4985407feb |
|---|---|
| 156 //qDebug() << path << size << mtime << checksum.toHex(); | 156 //qDebug() << path << size << mtime << checksum.toHex(); |
| 157 } | 157 } |
| 158 | 158 |
| 159 return values; | 159 return values; |
| 160 } | 160 } |
| 161 | |
| 162 void SqliteDBLink::deleteFileFromDB(const QString& path) | |
| 163 { | |
| 164 QSqlQuery query; | |
| 165 query.prepare("DELETE FROM files WHERE path = :path"); | |
| 166 query.bindValue(":path", path); | |
| 167 if (!query.exec()) { | |
| 168 qDebug() << path << "::" << query.lastQuery() << "::" << query.lastError().text(); | |
| 169 } | |
| 170 } | |
| 171 | |
| 172 | |
| 173 void SqliteDBLink::keepOnlyFromPrefix(const QString& prefix, const QStringList& files) | |
| 174 { | |
| 175 QStringList list; | |
| 176 foreach(QSharedPointer<DBInfo> info, values(prefix)) { | |
| 177 if (!files.contains(info->path())) { | |
| 178 list << info->path(); | |
| 179 } | |
| 180 } | |
| 181 foreach(QString path, list) { | |
| 182 deleteFileFromDB(path); | |
| 183 } | |
| 184 } |
