Mercurial > dedupe
annotate SqliteDBLink.cpp @ 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 |
| rev | line source |
|---|---|
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
1 #include "SqliteDBLink.hpp" |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
2 |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
3 #include <QtCore/QStringList> |
|
31
bf3dce7fedcb
Remove all references to QDebug
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
16
diff
changeset
|
4 #include <QtCore/QVariant> |
|
bf3dce7fedcb
Remove all references to QDebug
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
16
diff
changeset
|
5 |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
6 |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
7 #include <QtSql/QSqlQuery> |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
8 #include <QtSql/QSqlRecord> |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
9 |
|
31
bf3dce7fedcb
Remove all references to QDebug
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
16
diff
changeset
|
10 #include "Exception/SQLException.hpp" |
|
32
c978d4a6514d
Replace unnecessary asserts with exceptions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
31
diff
changeset
|
11 #include "Exception/IOException.hpp" |
|
9
b5943e4bf676
Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
7
diff
changeset
|
12 |
|
81
69a30d9f126e
Make the DBLink reusable.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
64
diff
changeset
|
13 const QString SqliteDBLink::connectionName("SqliteDBLink"); |
|
69a30d9f126e
Make the DBLink reusable.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
64
diff
changeset
|
14 |
|
69a30d9f126e
Make the DBLink reusable.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
64
diff
changeset
|
15 |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
16 SqliteDBLink::SqliteDBLink(const QString& dbPath) |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
17 { |
|
81
69a30d9f126e
Make the DBLink reusable.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
64
diff
changeset
|
18 if (!QSqlDatabase::contains(connectionName)) |
|
69a30d9f126e
Make the DBLink reusable.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
64
diff
changeset
|
19 db = QSqlDatabase::addDatabase("QSQLITE", connectionName); |
|
69a30d9f126e
Make the DBLink reusable.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
64
diff
changeset
|
20 else { |
|
69a30d9f126e
Make the DBLink reusable.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
64
diff
changeset
|
21 db = QSqlDatabase::database(connectionName); |
|
69a30d9f126e
Make the DBLink reusable.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
64
diff
changeset
|
22 } |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
23 db.setDatabaseName(dbPath); |
|
32
c978d4a6514d
Replace unnecessary asserts with exceptions.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
31
diff
changeset
|
24 if (!db.open()) |
|
64
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
25 throw |
|
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
26 IOException(QString("Unable to open SQLite database with path '%1'") |
|
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
27 .arg(dbPath)); |
|
16
06166d6c083b
Add configuration processing.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
9
diff
changeset
|
28 QSqlQuery query(db); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
29 if (!query.exec(QString("SELECT * FROM files;"))) { |
|
64
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
30 query.exec("CREATE TABLE files(path VARCHAR PRIMARY KEY ASC," |
|
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
31 " size INTEGER, mtime TEXT, checksum TEXT);"); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
32 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
33 if (!query.exec(QString("SELECT * FROM files;"))) { |
|
31
bf3dce7fedcb
Remove all references to QDebug
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
16
diff
changeset
|
34 throw SQLException("No database"); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
35 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
36 |
|
88
6e1d4d2fc49b
Prepare size query only once.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
87
diff
changeset
|
37 |
|
6e1d4d2fc49b
Prepare size query only once.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
87
diff
changeset
|
38 preparedSizePrefixQuery = new QSqlQuery(db); |
|
6e1d4d2fc49b
Prepare size query only once.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
87
diff
changeset
|
39 preparedSizePrefixQuery->prepare("SELECT * FROM files WHERE path LIKE :prefix AND size = :size"); |
|
6e1d4d2fc49b
Prepare size query only once.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
87
diff
changeset
|
40 |
|
6e1d4d2fc49b
Prepare size query only once.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
87
diff
changeset
|
41 preparedSizeQuery = new QSqlQuery(db); |
|
6e1d4d2fc49b
Prepare size query only once.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
87
diff
changeset
|
42 preparedSizeQuery->prepare("SELECT * FROM files WHERE size = :size"); |
|
6e1d4d2fc49b
Prepare size query only once.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
87
diff
changeset
|
43 |
|
90
7b7a959c993b
Prepare some more queries.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
88
diff
changeset
|
44 preparedTryAddQuery = new QSqlQuery(db); |
|
7b7a959c993b
Prepare some more queries.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
88
diff
changeset
|
45 preparedTryAddQuery->prepare("INSERT INTO files (path, size, mtime, checksum)" |
|
7b7a959c993b
Prepare some more queries.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
88
diff
changeset
|
46 " VALUES (:path, :size, :mtime, :checksum)"); |
|
7b7a959c993b
Prepare some more queries.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
88
diff
changeset
|
47 |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
48 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
49 |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
50 SqliteDBLink::~SqliteDBLink() |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
51 { |
|
88
6e1d4d2fc49b
Prepare size query only once.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
87
diff
changeset
|
52 delete preparedSizePrefixQuery; |
|
6e1d4d2fc49b
Prepare size query only once.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
87
diff
changeset
|
53 delete preparedSizeQuery; |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
54 db.close(); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
55 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
56 |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
57 bool SqliteDBLink::exists(const QString& path) |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
58 { |
|
16
06166d6c083b
Add configuration processing.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
9
diff
changeset
|
59 QSqlQuery query(db); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
60 query.prepare("SELECT path FROM files WHERE path = :path;"); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
61 query.bindValue(":path", path); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
62 if (!query.exec()) { |
|
31
bf3dce7fedcb
Remove all references to QDebug
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
16
diff
changeset
|
63 throw SQLException(query); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
64 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
65 return query.last(); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
66 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
67 |
|
64
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
68 FileDBLink::DBStatus SqliteDBLink::existsWithMtime(const QString& path, |
|
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
69 const QDateTime& mtime) |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
70 { |
|
16
06166d6c083b
Add configuration processing.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
9
diff
changeset
|
71 QSqlQuery query(db); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
72 query.prepare("SELECT mtime FROM files WHERE path = :path;"); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
73 query.bindValue(":path", path); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
74 if (!query.exec()) { |
|
31
bf3dce7fedcb
Remove all references to QDebug
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
16
diff
changeset
|
75 throw SQLException(query); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
76 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
77 if (query.next()) { |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
78 int dateIndex = query.record().indexOf("mtime"); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
79 QDateTime mtimeEntry = query.value(dateIndex).toDateTime(); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
80 if (mtimeEntry == mtime) |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
81 return SAME; |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
82 return MTIME_DIFFERENT; |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
83 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
84 return NONE; |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
85 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
86 |
|
86
af7962f3274b
Use quint64 for sizes, rather than qint64.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
85
diff
changeset
|
87 void SqliteDBLink::addFile(const QString& path, quint64 size, |
|
92
f49023c61dac
Support for bulk insertion.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
90
diff
changeset
|
88 const QDateTime& dtime, const QByteArray& hash, |
|
f49023c61dac
Support for bulk insertion.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
90
diff
changeset
|
89 bool lazy) |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
90 { |
|
92
f49023c61dac
Support for bulk insertion.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
90
diff
changeset
|
91 addFile(DBInfo(path, size, dtime, hash), lazy); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
92 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
93 |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
94 bool SqliteDBLink::tryAddFile(const DBInfo& dbinfo) |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
95 { |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
96 if (exists(dbinfo.path())) |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
97 return false; |
|
90
7b7a959c993b
Prepare some more queries.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
88
diff
changeset
|
98 preparedTryAddQuery->bindValue(":path", dbinfo.path()); |
|
7b7a959c993b
Prepare some more queries.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
88
diff
changeset
|
99 preparedTryAddQuery->bindValue(":size", dbinfo.size()); |
|
7b7a959c993b
Prepare some more queries.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
88
diff
changeset
|
100 preparedTryAddQuery->bindValue(":mtime", dbinfo.mtime()); |
|
7b7a959c993b
Prepare some more queries.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
88
diff
changeset
|
101 preparedTryAddQuery->bindValue(":checksum", dbinfo.checksum()); |
|
7b7a959c993b
Prepare some more queries.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
88
diff
changeset
|
102 if (!preparedTryAddQuery->exec()) { |
|
7b7a959c993b
Prepare some more queries.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
88
diff
changeset
|
103 throw SQLException(*preparedTryAddQuery); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
104 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
105 return true; |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
106 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
107 |
|
64
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
108 void SqliteDBLink::updateFile(const QString& path, |
|
86
af7962f3274b
Use quint64 for sizes, rather than qint64.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
85
diff
changeset
|
109 quint64 size, const QDateTime& dtime, |
|
92
f49023c61dac
Support for bulk insertion.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
90
diff
changeset
|
110 const QByteArray& hash, bool lazy) |
|
7
d6fdca3bf24e
Make sure everything works for MemoryDBLink.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
111 { |
|
92
f49023c61dac
Support for bulk insertion.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
90
diff
changeset
|
112 updateFile(DBInfo(path, size, dtime, hash), lazy); |
|
7
d6fdca3bf24e
Make sure everything works for MemoryDBLink.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
113 } |
|
d6fdca3bf24e
Make sure everything works for MemoryDBLink.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
114 |
|
92
f49023c61dac
Support for bulk insertion.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
90
diff
changeset
|
115 void SqliteDBLink::updateFile(const DBInfo& dbinfo, bool lazy) |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
116 { |
|
16
06166d6c083b
Add configuration processing.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
9
diff
changeset
|
117 QSqlQuery query(db); |
|
64
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
118 query.prepare("UPDATE files " |
|
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
119 "SET size=:size, mtime=:mtime, checksum=:checksum " |
|
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
120 "WHERE path=:path"); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
121 query.bindValue(":path", dbinfo.path()); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
122 query.bindValue(":size", dbinfo.size()); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
123 query.bindValue(":mtime", dbinfo.mtime()); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
124 query.bindValue(":checksum", dbinfo.checksum()); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
125 if (!query.exec()) { |
|
31
bf3dce7fedcb
Remove all references to QDebug
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
16
diff
changeset
|
126 throw SQLException(query); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
127 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
128 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
129 |
|
92
f49023c61dac
Support for bulk insertion.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
90
diff
changeset
|
130 void SqliteDBLink::addFile(const DBInfo& dbinfo, bool lazy) |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
131 { |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
132 if (!tryAddFile(dbinfo)) { |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
133 abort(); //Should throw exception |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
134 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
135 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
136 |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
137 |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
138 QStringList SqliteDBLink::toStringList() |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
139 { |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
140 abort(); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
141 QStringList list; |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
142 /* |
|
64
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
143 foreach(dbinf_ptr_t info, entries) { |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
144 list << info->serialize(); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
145 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
146 */ |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
147 return list; |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
148 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
149 |
|
64
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
150 const QList<FileDBLink::dbinf_ptr_t > |
|
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
151 SqliteDBLink::values(const QString& prefix) const |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
152 { |
|
64
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
153 QList<FileDBLink::dbinf_ptr_t > values; |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
154 |
|
16
06166d6c083b
Add configuration processing.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
9
diff
changeset
|
155 QSqlQuery query(db); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
156 |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
157 if (prefix.size() > 0) { |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
158 query.prepare("SELECT * FROM files WHERE path LIKE :prefix"); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
159 query.bindValue(":prefix", QString("%1%").arg(prefix)); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
160 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
161 else { |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
162 query.prepare("SELECT * FROM files"); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
163 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
164 |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
165 if (!query.exec()) { |
|
31
bf3dce7fedcb
Remove all references to QDebug
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
16
diff
changeset
|
166 throw SQLException(query); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
167 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
168 |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
169 int pathIndex = query.record().indexOf("path"); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
170 int sizeIndex = query.record().indexOf("size"); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
171 int dateIndex = query.record().indexOf("mtime"); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
172 int checksumIndex = query.record().indexOf("checksum"); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
173 while (query.next()) { |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
174 QString path = query.value(pathIndex).toString(); |
|
86
af7962f3274b
Use quint64 for sizes, rather than qint64.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
85
diff
changeset
|
175 quint64 size = query.value(sizeIndex).toInt(); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
176 QDateTime mtime = query.value(dateIndex).toDateTime(); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
177 QByteArray checksum = query.value(checksumIndex).toByteArray(); |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
178 |
|
64
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
179 values << |
|
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
180 FileDBLink::dbinf_ptr_t(new FileDBLink::DBInfo(path, |
|
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
181 size, mtime, checksum)); |
|
2
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
182 } |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
183 |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
184 return values; |
|
2833b7f8884a
Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
185 } |
|
5
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
186 |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
187 void SqliteDBLink::deleteFileFromDB(const QString& path) |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
188 { |
|
16
06166d6c083b
Add configuration processing.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
9
diff
changeset
|
189 QSqlQuery query(db); |
|
06166d6c083b
Add configuration processing.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
9
diff
changeset
|
190 query.prepare("DELETE FROM files WHERE path = :path"); |
|
06166d6c083b
Add configuration processing.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
9
diff
changeset
|
191 query.bindValue(":path", path); |
|
06166d6c083b
Add configuration processing.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
9
diff
changeset
|
192 if (!query.exec()) { |
|
31
bf3dce7fedcb
Remove all references to QDebug
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
16
diff
changeset
|
193 throw SQLException(query); |
|
16
06166d6c083b
Add configuration processing.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
9
diff
changeset
|
194 } |
|
5
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
195 } |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
196 |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
197 |
|
64
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
198 void SqliteDBLink::keepOnlyFromPrefix(const QString& prefix, |
|
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
199 const QStringList& files) |
|
5
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
200 { |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
201 QStringList list; |
|
64
b9515dc35fe4
Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
62
diff
changeset
|
202 foreach(dbinf_ptr_t info, values(prefix)) { |
|
5
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
203 if (!files.contains(info->path())) { |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
204 list << info->path(); |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
205 } |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
206 } |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
207 foreach(QString path, list) { |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
208 deleteFileFromDB(path); |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
209 } |
|
5e4985407feb
Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
210 } |
|
85
1f9e27a0bd7f
Allow for lazy calculation of checksums, ignore them, if only one file of given size.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
81
diff
changeset
|
211 |
|
86
af7962f3274b
Use quint64 for sizes, rather than qint64.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
85
diff
changeset
|
212 const QList<FileDBLink::dbinf_ptr_t> |
|
af7962f3274b
Use quint64 for sizes, rather than qint64.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
85
diff
changeset
|
213 SqliteDBLink::filesWithSize(quint64 size, const QString& prefix) const |
|
85
1f9e27a0bd7f
Allow for lazy calculation of checksums, ignore them, if only one file of given size.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
81
diff
changeset
|
214 { |
|
88
6e1d4d2fc49b
Prepare size query only once.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
87
diff
changeset
|
215 QList<dbinf_ptr_t > values; |
|
87
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
216 |
|
88
6e1d4d2fc49b
Prepare size query only once.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
87
diff
changeset
|
217 QSqlQuery & query = (prefix.size() > 0) ? *preparedSizePrefixQuery : *preparedSizeQuery; |
|
87
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
218 |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
219 if (prefix.size() > 0) { |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
220 query.bindValue(":prefix", QString("%1%").arg(prefix)); |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
221 } |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
222 query.bindValue(":size", QString("%1%").arg(size)); |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
223 |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
224 |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
225 if (!query.exec()) { |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
226 throw SQLException(query); |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
227 } |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
228 |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
229 int pathIndex = query.record().indexOf("path"); |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
230 int sizeIndex = query.record().indexOf("size"); |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
231 int dateIndex = query.record().indexOf("mtime"); |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
232 int checksumIndex = query.record().indexOf("checksum"); |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
233 while (query.next()) { |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
234 QString path = query.value(pathIndex).toString(); |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
235 quint64 size = query.value(sizeIndex).toInt(); |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
236 QDateTime mtime = query.value(dateIndex).toDateTime(); |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
237 QByteArray checksum = query.value(checksumIndex).toByteArray(); |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
238 |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
239 values << |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
240 FileDBLink::dbinf_ptr_t(new FileDBLink::DBInfo(path, |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
241 size, mtime, checksum)); |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
242 } |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
243 |
|
9e337bd96bd3
Improve efficiency of SqliteDBLink::filesWithSize
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
86
diff
changeset
|
244 return values; |
|
85
1f9e27a0bd7f
Allow for lazy calculation of checksums, ignore them, if only one file of given size.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
81
diff
changeset
|
245 } |
