diff options
Diffstat (limited to 'common/datastorequery.cpp')
-rw-r--r-- | common/datastorequery.cpp | 14 |
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); |