comparison SqliteDBLink.hpp @ 92:f49023c61dac

Support for bulk insertion.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Mon, 21 Oct 2013 20:03:39 +0200
parents 7b7a959c993b
children 308a718812ba
comparison
equal deleted inserted replaced
91:a5788991ca9f 92:f49023c61dac
8 public: 8 public:
9 SqliteDBLink(const QString& dbpath); 9 SqliteDBLink(const QString& dbpath);
10 ~SqliteDBLink(); 10 ~SqliteDBLink();
11 11
12 virtual void addFile(const QString& path, quint64 size, 12 virtual void addFile(const QString& path, quint64 size,
13 const QDateTime& dtime, const QByteArray& hash); 13 const QDateTime& dtime, const QByteArray& hash,
14 bool lazy = false);
14 virtual void updateFile(const QString& path, quint64 size, 15 virtual void updateFile(const QString& path, quint64 size,
15 const QDateTime& dtime, const QByteArray& hash); 16 const QDateTime& dtime, const QByteArray& hash,
17 bool lazy = false);
16 bool exists(const QString& path); 18 bool exists(const QString& path);
17 DBStatus existsWithMtime(const QString& path, const QDateTime& mtime); 19 DBStatus existsWithMtime(const QString& path, const QDateTime& mtime);
18 20
19 virtual const QList<dbinf_ptr_t> filesWithSize(quint64 size, const QString& prefix = QString()) const; 21 virtual const QList<dbinf_ptr_t> filesWithSize(quint64 size, const QString& prefix = QString()) const;
20 22
24 virtual void keepOnlyFromPrefix(const QString& prefix, 26 virtual void keepOnlyFromPrefix(const QString& prefix,
25 const QStringList& files); 27 const QStringList& files);
26 virtual void deleteFileFromDB(const QString& path); 28 virtual void deleteFileFromDB(const QString& path);
27 29
28 private: 30 private:
29 void addFile(const DBInfo& info); 31 void addFile(const DBInfo& info, bool lazy);
30 bool tryAddFile(const DBInfo& info); 32 bool tryAddFile(const DBInfo& info);
31 void updateFile(const DBInfo& dbinfo); 33 void updateFile(const DBInfo& dbinfo, bool lazy);
32 34
33 QSqlDatabase db; 35 QSqlDatabase db;
34 static const QString connectionName; 36 static const QString connectionName;
35 37
36 QSqlQuery* preparedSizePrefixQuery; 38 QSqlQuery* preparedSizePrefixQuery;