Mercurial > dedupe
view SqliteDBLink.hpp @ 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 | af7962f3274b |
| children | 7b7a959c993b |
line wrap: on
line source
#ifndef SQLITEDBLINK_HPP #define SQLITEDBLINK_HPP #include "FileDBLink.hpp" #include <QtSql/QSqlDatabase> class SqliteDBLink : public FileDBLink { public: SqliteDBLink(const QString& dbpath); ~SqliteDBLink(); virtual void addFile(const QString& path, quint64 size, const QDateTime& dtime, const QByteArray& hash); virtual void updateFile(const QString& path, quint64 size, const QDateTime& dtime, const QByteArray& hash); bool exists(const QString& path); DBStatus existsWithMtime(const QString& path, const QDateTime& mtime); virtual const QList<dbinf_ptr_t> filesWithSize(quint64 size, const QString& prefix = QString()) const; QStringList toStringList(); const QList<dbinf_ptr_t > values(const QString& prefix = QString() ) const; virtual void keepOnlyFromPrefix(const QString& prefix, const QStringList& files); virtual void deleteFileFromDB(const QString& path); private: void addFile(const DBInfo& info); bool tryAddFile(const DBInfo& info); void updateFile(const DBInfo& dbinfo); QSqlDatabase db; static const QString connectionName; QSqlQuery* preparedSizePrefixQuery; QSqlQuery* preparedSizeQuery; }; #endif //MEMORYDBLINK_HPP
