Mercurial > dedupe
comparison SqliteDBLink.hpp @ 93:308a718812ba
Small refactoring to allow lazy commits.
| author | Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no> |
|---|---|
| date | Tue, 22 Oct 2013 11:53:54 +0200 |
| parents | f49023c61dac |
| children | 93981e675d67 |
comparison
equal
deleted
inserted
replaced
| 92:f49023c61dac | 93:308a718812ba |
|---|---|
| 1 #ifndef SQLITEDBLINK_HPP | 1 #ifndef SQLITEDBLINK_HPP |
| 2 #define SQLITEDBLINK_HPP | 2 #define SQLITEDBLINK_HPP |
| 3 #include "FileDBLink.hpp" | 3 #include "FileDBLink.hpp" |
| 4 | 4 |
| 5 #include <QtSql/QSqlDatabase> | 5 #include <QtSql/QSqlDatabase> |
| 6 #include <QtCore/QPair> | |
| 6 | 7 |
| 7 class SqliteDBLink : public FileDBLink { | 8 class SqliteDBLink : public FileDBLink { |
| 8 public: | 9 public: |
| 9 SqliteDBLink(const QString& dbpath); | 10 SqliteDBLink(const QString& dbpath); |
| 10 ~SqliteDBLink(); | 11 ~SqliteDBLink(); |
| 24 QStringList toStringList(); | 25 QStringList toStringList(); |
| 25 const QList<dbinf_ptr_t > values(const QString& prefix = QString() ) const; | 26 const QList<dbinf_ptr_t > values(const QString& prefix = QString() ) const; |
| 26 virtual void keepOnlyFromPrefix(const QString& prefix, | 27 virtual void keepOnlyFromPrefix(const QString& prefix, |
| 27 const QStringList& files); | 28 const QStringList& files); |
| 28 virtual void deleteFileFromDB(const QString& path); | 29 virtual void deleteFileFromDB(const QString& path); |
| 30 bool commit(); | |
| 29 | 31 |
| 30 private: | 32 private: |
| 31 void addFile(const DBInfo& info, bool lazy); | 33 typedef enum {Add, Update } OperationType; |
| 34 typedef QPair<DBInfo, OperationType> Operation; | |
| 35 | |
| 36 void addFile(const DBInfo& info, bool lazy = false); | |
| 32 bool tryAddFile(const DBInfo& info); | 37 bool tryAddFile(const DBInfo& info); |
| 33 void updateFile(const DBInfo& dbinfo, bool lazy); | 38 void updateFile(const DBInfo& dbinfo, bool lazy = false); |
| 34 | 39 |
| 35 QSqlDatabase db; | 40 QSqlDatabase db; |
| 36 static const QString connectionName; | 41 static const QString connectionName; |
| 37 | 42 |
| 38 QSqlQuery* preparedSizePrefixQuery; | 43 QSqlQuery* preparedSizePrefixQuery; |
| 39 QSqlQuery* preparedSizeQuery; | 44 QSqlQuery* preparedSizeQuery; |
| 40 QSqlQuery* preparedTryAddQuery; | 45 QSqlQuery* preparedTryAddQuery; |
| 46 QList<Operation> operations; | |
| 41 }; | 47 }; |
| 42 | 48 |
| 43 #endif //MEMORYDBLINK_HPP | 49 #endif //MEMORYDBLINK_HPP |
