Mercurial > dedupe
comparison SqliteDBLink.cpp @ 90:7b7a959c993b
Prepare some more queries.
| author | Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no> |
|---|---|
| date | Mon, 21 Oct 2013 16:20:38 +0200 |
| parents | 6e1d4d2fc49b |
| children | f49023c61dac |
comparison
equal
deleted
inserted
replaced
| 89:cfd2a417475a | 90:7b7a959c993b |
|---|---|
| 38 preparedSizePrefixQuery = new QSqlQuery(db); | 38 preparedSizePrefixQuery = new QSqlQuery(db); |
| 39 preparedSizePrefixQuery->prepare("SELECT * FROM files WHERE path LIKE :prefix AND size = :size"); | 39 preparedSizePrefixQuery->prepare("SELECT * FROM files WHERE path LIKE :prefix AND size = :size"); |
| 40 | 40 |
| 41 preparedSizeQuery = new QSqlQuery(db); | 41 preparedSizeQuery = new QSqlQuery(db); |
| 42 preparedSizeQuery->prepare("SELECT * FROM files WHERE size = :size"); | 42 preparedSizeQuery->prepare("SELECT * FROM files WHERE size = :size"); |
| 43 | |
| 44 preparedTryAddQuery = new QSqlQuery(db); | |
| 45 preparedTryAddQuery->prepare("INSERT INTO files (path, size, mtime, checksum)" | |
| 46 " VALUES (:path, :size, :mtime, :checksum)"); | |
| 43 | 47 |
| 44 } | 48 } |
| 45 | 49 |
| 46 SqliteDBLink::~SqliteDBLink() | 50 SqliteDBLink::~SqliteDBLink() |
| 47 { | 51 { |
| 88 | 92 |
| 89 bool SqliteDBLink::tryAddFile(const DBInfo& dbinfo) | 93 bool SqliteDBLink::tryAddFile(const DBInfo& dbinfo) |
| 90 { | 94 { |
| 91 if (exists(dbinfo.path())) | 95 if (exists(dbinfo.path())) |
| 92 return false; | 96 return false; |
| 93 QSqlQuery query(db); | 97 preparedTryAddQuery->bindValue(":path", dbinfo.path()); |
| 94 query.prepare("INSERT INTO files (path, size, mtime, checksum) " | 98 preparedTryAddQuery->bindValue(":size", dbinfo.size()); |
| 95 "VALUES (:path, :size, :mtime, :checksum)"); | 99 preparedTryAddQuery->bindValue(":mtime", dbinfo.mtime()); |
| 96 query.bindValue(":path", dbinfo.path()); | 100 preparedTryAddQuery->bindValue(":checksum", dbinfo.checksum()); |
| 97 query.bindValue(":size", dbinfo.size()); | 101 if (!preparedTryAddQuery->exec()) { |
| 98 query.bindValue(":mtime", dbinfo.mtime()); | 102 throw SQLException(*preparedTryAddQuery); |
| 99 query.bindValue(":checksum", dbinfo.checksum()); | |
| 100 if (!query.exec()) { | |
| 101 throw SQLException(query); | |
| 102 } | 103 } |
| 103 return true; | 104 return true; |
| 104 } | 105 } |
| 105 | 106 |
| 106 void SqliteDBLink::updateFile(const QString& path, | 107 void SqliteDBLink::updateFile(const QString& path, |
