diff options
Diffstat (limited to 'common/synchronizer.cpp')
-rw-r--r-- | common/synchronizer.cpp | 9 |
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 { |