summaryrefslogtreecommitdiffstats
path: root/tests/interresourcemovetest.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2018-01-25 16:29:00 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-02-06 08:38:08 +0100
commit9b84aff4b68c3cef3328c85ac12418048b169cee (patch)
tree7014f685e6a8c850f0be7965e1e656d3de72a15d /tests/interresourcemovetest.cpp
parent0a0c197ed487c343675b62dff8456932c8d5ff7f (diff)
downloadsink-9b84aff4b68c3cef3328c85ac12418048b169cee.tar.gz
sink-9b84aff4b68c3cef3328c85ac12418048b169cee.zip
Store all BLOB properties inline.
BLOB properties had a couple of intended purposes: * Allow large payloads to be streamed directly to disk, and then be handled by reference. * Allow zero-copy handling. * Keep the database values compact so we can avoid traversing large BLOBS. However, they came at the cost of code-complexity, and we lost all the benefits of our storage layer, such as transactions. Measurements showed, that for email (the intended primary usecase), the overhead is hardly measurable, with most parts performing better, or at least not worse. We additionally also gain file-system independence, which may help on other platforms. The biggest drawback is probably that large payloads need to be written to disk twice, because of the synchronizer queue (once for the queue, once for the actual data).
Diffstat (limited to 'tests/interresourcemovetest.cpp')
-rw-r--r--tests/interresourcemovetest.cpp3
1 files changed, 0 insertions, 3 deletions
diff --git a/tests/interresourcemovetest.cpp b/tests/interresourcemovetest.cpp
index 174befc..37e040e 100644
--- a/tests/interresourcemovetest.cpp
+++ b/tests/interresourcemovetest.cpp
@@ -106,7 +106,6 @@ private slots:
106 auto list = Sink::Store::read<Mail>(query.filter<Mail::MessageId>(testuid)); 106 auto list = Sink::Store::read<Mail>(query.filter<Mail::MessageId>(testuid));
107 QCOMPARE(list.size(), 1); 107 QCOMPARE(list.size(), 1);
108 const auto mail = list.first(); 108 const auto mail = list.first();
109 QVERIFY(!mail.getMimeMessagePath().isEmpty());
110 QCOMPARE(mail.getSubject(), subject); 109 QCOMPARE(mail.getSubject(), subject);
111 QCOMPARE(mail.getMimeMessage(), mimeMessage); 110 QCOMPARE(mail.getMimeMessage(), mimeMessage);
112 } 111 }
@@ -153,7 +152,6 @@ private slots:
153 auto list = Sink::Store::read<Mail>(query.filter<Mail::MessageId>(testuid)); 152 auto list = Sink::Store::read<Mail>(query.filter<Mail::MessageId>(testuid));
154 QCOMPARE(list.size(), 1); 153 QCOMPARE(list.size(), 1);
155 const auto mail = list.first(); 154 const auto mail = list.first();
156 QVERIFY(!mail.getMimeMessagePath().isEmpty());
157 QCOMPARE(mail.getSubject(), subject); 155 QCOMPARE(mail.getSubject(), subject);
158 QCOMPARE(mail.getMimeMessage(), mimeMessage); 156 QCOMPARE(mail.getMimeMessage(), mimeMessage);
159 } 157 }
@@ -164,7 +162,6 @@ private slots:
164 auto list = Sink::Store::read<Mail>(query.filter<Mail::MessageId>(testuid)); 162 auto list = Sink::Store::read<Mail>(query.filter<Mail::MessageId>(testuid));
165 QCOMPARE(list.size(), 1); 163 QCOMPARE(list.size(), 1);
166 const auto mail = list.first(); 164 const auto mail = list.first();
167 QVERIFY(!mail.getMimeMessagePath().isEmpty());
168 QCOMPARE(mail.getSubject(), subject); 165 QCOMPARE(mail.getSubject(), subject);
169 QCOMPARE(mail.getMimeMessage(), mimeMessage); 166 QCOMPARE(mail.getMimeMessage(), mimeMessage);
170 } 167 }