summaryrefslogtreecommitdiffstats
path: root/common/synchronizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/synchronizer.cpp')
-rw-r--r--common/synchronizer.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/common/synchronizer.cpp b/common/synchronizer.cpp
index b8de1ed..48e71ff 100644
--- a/common/synchronizer.cpp
+++ b/common/synchronizer.cpp
@@ -244,13 +244,18 @@ QByteArrayList Synchronizer::resolveFilter(const QueryBase::Comparator &filter)
244{ 244{
245 QByteArrayList result; 245 QByteArrayList result;
246 if (filter.value.canConvert<QByteArray>()) { 246 if (filter.value.canConvert<QByteArray>()) {
247 result << filter.value.value<QByteArray>(); 247 const auto value = filter.value.value<QByteArray>();
248 if (value.isEmpty()) {
249 SinkErrorCtx(mLogCtx) << "Tried to filter for an empty value: " << filter;
250 } else {
251 result << filter.value.value<QByteArray>();
252 }
248 } else if (filter.value.canConvert<QueryBase>()) { 253 } else if (filter.value.canConvert<QueryBase>()) {
249 auto query = filter.value.value<QueryBase>(); 254 auto query = filter.value.value<QueryBase>();
250 Storage::EntityStore store{mResourceContext, mLogCtx}; 255 Storage::EntityStore store{mResourceContext, mLogCtx};
251 DataStoreQuery dataStoreQuery{query, query.type(), store}; 256 DataStoreQuery dataStoreQuery{query, query.type(), store};
252 auto resultSet = dataStoreQuery.execute(); 257 auto resultSet = dataStoreQuery.execute();
253 resultSet.replaySet(0, 0, [this, &result](const ResultSet::Result &r) { 258 resultSet.replaySet(0, 0, [&result](const ResultSet::Result &r) {
254 result << r.entity.identifier(); 259 result << r.entity.identifier();
255 }); 260 });
256 } else { 261 } else {