summaryrefslogtreecommitdiffstats
path: root/common/datastorequery.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'common/datastorequery.cpp')
-rw-r--r--common/datastorequery.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/common/datastorequery.cpp b/common/datastorequery.cpp
index 52243da..43b4660 100644
--- a/common/datastorequery.cpp
+++ b/common/datastorequery.cpp
@@ -46,14 +46,10 @@ class Source : public FilterBase {
46 QVector<Identifier> mIncrementalIds; 46 QVector<Identifier> mIncrementalIds;
47 QVector<Identifier>::ConstIterator mIncrementalIt; 47 QVector<Identifier>::ConstIterator mIncrementalIt;
48 48
49 Source (const QVector<QByteArray> &ids, DataStoreQuery *store) 49 Source (const QVector<Identifier> &ids, DataStoreQuery *store)
50 : FilterBase(store), 50 : FilterBase(store),
51 mIds() 51 mIds(ids)
52 { 52 {
53 mIds.reserve(ids.size());
54 for (const auto &id : ids) {
55 mIds.append(Identifier::fromDisplayByteArray(id));
56 }
57 mIt = mIds.constBegin(); 53 mIt = mIds.constBegin();
58 } 54 }
59 55
@@ -614,7 +610,11 @@ void DataStoreQuery::setupQuery(const Sink::QueryBase &query_)
614 mSource = [&]() { 610 mSource = [&]() {
615 if (!query.ids().isEmpty()) { 611 if (!query.ids().isEmpty()) {
616 //We have a set of ids as a starting point 612 //We have a set of ids as a starting point
617 return Source::Ptr::create(query.ids().toVector(), this); 613 QVector<Identifier> ids;
614 for (const auto & id: query.ids()) {
615 ids.append(Identifier::fromDisplayByteArray(id));
616 }
617 return Source::Ptr::create(ids, this);
618 } else { 618 } else {
619 QSet<QByteArrayList> appliedFilters; 619 QSet<QByteArrayList> appliedFilters;
620 auto resultSet = mStore.indexLookup(mType, query, appliedFilters, appliedSorting); 620 auto resultSet = mStore.indexLookup(mType, query, appliedFilters, appliedSorting);