Mercurial > dedupe
changeset 88:6e1d4d2fc49b
Prepare size query only once.
| author | Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no> |
|---|---|
| date | Thu, 10 Oct 2013 16:53:06 +0200 |
| parents | 9e337bd96bd3 |
| children | cfd2a417475a |
| files | SqliteDBLink.cpp SqliteDBLink.hpp |
| diffstat | 2 files changed, 14 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/SqliteDBLink.cpp Thu Oct 10 16:12:41 2013 +0200 +++ b/SqliteDBLink.cpp Thu Oct 10 16:53:06 2013 +0200 @@ -34,10 +34,19 @@ throw SQLException("No database"); } + + preparedSizePrefixQuery = new QSqlQuery(db); + preparedSizePrefixQuery->prepare("SELECT * FROM files WHERE path LIKE :prefix AND size = :size"); + + preparedSizeQuery = new QSqlQuery(db); + preparedSizeQuery->prepare("SELECT * FROM files WHERE size = :size"); + } SqliteDBLink::~SqliteDBLink() { + delete preparedSizePrefixQuery; + delete preparedSizeQuery; db.close(); } @@ -201,17 +210,13 @@ const QList<FileDBLink::dbinf_ptr_t> SqliteDBLink::filesWithSize(quint64 size, const QString& prefix) const { - QList<FileDBLink::dbinf_ptr_t > values; + QList<dbinf_ptr_t > values; - QSqlQuery query(db); + QSqlQuery & query = (prefix.size() > 0) ? *preparedSizePrefixQuery : *preparedSizeQuery; if (prefix.size() > 0) { - query.prepare("SELECT * FROM files WHERE path LIKE :prefix AND size = :size"); query.bindValue(":prefix", QString("%1%").arg(prefix)); } - else { - query.prepare("SELECT * FROM files WHERE size = :size"); - } query.bindValue(":size", QString("%1%").arg(size));
