From 175a49d623a5e37c1c20c80ed7f2077222f3c593 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 14 Nov 2016 16:22:07 +0100 Subject: Hide the Query::limit --- common/query.h | 22 ++++++++++++++-------- common/queryrunner.cpp | 6 +++--- 2 files changed, 17 insertions(+), 11 deletions(-) (limited to 'common') diff --git a/common/query.h b/common/query.h index 57f8a4d..8459850 100644 --- a/common/query.h +++ b/common/query.h @@ -363,30 +363,24 @@ public: } - Query(const ApplicationDomain::Entity &value) : limit(0) + Query(const ApplicationDomain::Entity &value) : mLimit(0) { filter(value.identifier()); resourceFilter(value.resourceInstanceIdentifier()); } - Query(Flags flags = Flags()) : limit(0), mFlags(flags) + Query(Flags flags = Flags()) : mLimit(0), mFlags(flags) { } QByteArrayList requestedProperties; QByteArray parentProperty; - int limit; void setFlags(Flags flags) { mFlags = flags; } - void setLimit(int l) - { - limit = l; - } - bool liveQuery() const { return mFlags.testFlag(LiveQuery); @@ -397,6 +391,17 @@ public: return mFlags.testFlag(SynchronousQuery); } + Query &limit(int l) + { + mLimit = l; + return *this; + } + + int limit() const + { + return mLimit; + } + Filter getResourceFilter() const { return mResourceFilter; @@ -434,6 +439,7 @@ public: } private: + int mLimit; Flags mFlags; Filter mResourceFilter; }; diff --git a/common/queryrunner.cpp b/common/queryrunner.cpp index 99f9c2d..b6c9aee 100644 --- a/common/queryrunner.cpp +++ b/common/queryrunner.cpp @@ -60,10 +60,10 @@ private: template QueryRunner::QueryRunner(const Sink::Query &query, const Sink::ResourceContext &context, const QByteArray &bufferType) - : QueryRunnerBase(), mResourceContext(context), mResourceAccess(mResourceContext.resourceAccess()), mResultProvider(new ResultProvider), mBatchSize(query.limit) + : QueryRunnerBase(), mResourceContext(context), mResourceAccess(mResourceContext.resourceAccess()), mResultProvider(new ResultProvider), mBatchSize(query.limit()) { - SinkTrace() << "Starting query. Is live:" << query.liveQuery() << " Limit: " << query.limit; - if (query.limit && query.sortProperty().isEmpty()) { + SinkTrace() << "Starting query. Is live:" << query.liveQuery() << " Limit: " << query.limit(); + if (query.limit() && query.sortProperty().isEmpty()) { SinkWarning() << "A limited query without sorting is typically a bad idea."; } auto guardPtr = QPointer(&guard); -- cgit v1.2.3