annotate MemoryDBLink.hpp @ 108:e9b798e80bad

Setup prepared begin, end queries. Support for more effective delete statement.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Tue, 18 Feb 2014 17:08:06 +0100
parents 6c6f3a5f96ea
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
1 #ifndef MEMORYDBLINK_HPP
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
2 #define MEMORYDBLINK_HPP
9
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 7
diff changeset
3
1
aae83c0a771d Refactor:
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 0
diff changeset
4 #include "FileDBLink.hpp"
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
5
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
6 #include <QtCore/QMap>
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
7
1
aae83c0a771d Refactor:
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 0
diff changeset
8 class MemoryDBLink : public FileDBLink {
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
9 public:
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
10 bool exists(const QString& path)
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
11 {
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
12 return (entries.contains(path));
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
13 }
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
14
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
15 QStringList toStringList();
7
d6fdca3bf24e Make sure everything works for MemoryDBLink.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
16
86
af7962f3274b Use quint64 for sizes, rather than qint64.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 64
diff changeset
17 virtual void addFile(const QString& path, quint64 size,
92
f49023c61dac Support for bulk insertion.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 86
diff changeset
18 const QDateTime& dtime, const QByteArray& hash,
f49023c61dac Support for bulk insertion.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 86
diff changeset
19 bool lazy = false);
86
af7962f3274b Use quint64 for sizes, rather than qint64.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 64
diff changeset
20 virtual void updateFile(const QString& path, quint64 size,
92
f49023c61dac Support for bulk insertion.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 86
diff changeset
21 const QDateTime& dtime, const QByteArray& hash,
f49023c61dac Support for bulk insertion.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 86
diff changeset
22 bool lazy = false);
7
d6fdca3bf24e Make sure everything works for MemoryDBLink.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
23 DBStatus existsWithMtime(const QString& path, const QDateTime& mtime);
d6fdca3bf24e Make sure everything works for MemoryDBLink.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
24
64
b9515dc35fe4 Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 61
diff changeset
25 const QList<dbinf_ptr_t > values(const QString& prefix = QString() ) const;
b9515dc35fe4 Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 61
diff changeset
26 virtual void keepOnlyFromPrefix(const QString& prefix,
101
6c6f3a5f96ea Better support for batch operations.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 92
diff changeset
27 const QStringList& files,
6c6f3a5f96ea Better support for batch operations.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 92
diff changeset
28 bool lazy = false);
6c6f3a5f96ea Better support for batch operations.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 92
diff changeset
29 virtual void deleteFileFromDB(const QString& path, bool lazy = false);
7
d6fdca3bf24e Make sure everything works for MemoryDBLink.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
30
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
31
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
32 private:
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
33 void addFile(const DBInfo& info);
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
34 bool tryAddFile(const DBInfo& info);
7
d6fdca3bf24e Make sure everything works for MemoryDBLink.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
35 void updateFile(const DBInfo& dbinfo);
d6fdca3bf24e Make sure everything works for MemoryDBLink.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
36
64
b9515dc35fe4 Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 61
diff changeset
37 QMap<QString, dbinf_ptr_t > entries;
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
38 };
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
39
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
40 #endif //MEMORYDBLINK_HPP