diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-09-20 17:18:21 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-09-20 17:18:21 +0200 |
commit | ebc5c48c03b6145e604da7c313b35321d0a71142 (patch) | |
tree | 1cee00a9fa4faa4995c0a50f01703ac5672c8797 /common/entityreader.cpp | |
parent | 4a14a6fade947aa830d3f21598a4a6ba7316b933 (diff) | |
download | sink-ebc5c48c03b6145e604da7c313b35321d0a71142.tar.gz sink-ebc5c48c03b6145e604da7c313b35321d0a71142.zip |
A first draft of the threading algorithm.
Diffstat (limited to 'common/entityreader.cpp')
-rw-r--r-- | common/entityreader.cpp | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/common/entityreader.cpp b/common/entityreader.cpp index faa154b..d86f4a9 100644 --- a/common/entityreader.cpp +++ b/common/entityreader.cpp | |||
@@ -150,27 +150,6 @@ void EntityReader<DomainType>::query(const Sink::Query &query, const std::functi | |||
150 | }); | 150 | }); |
151 | } | 151 | } |
152 | 152 | ||
153 | /* template <class DomainType> */ | ||
154 | /* void EntityReader<DomainType>::readEntity(const Sink::Storage::NamedDatabase &db, const QByteArray &key, */ | ||
155 | /* const std::function<void(const Sink::ApplicationDomain::ApplicationDomainType::Ptr &, Sink::Operation)> &resultCallback) */ | ||
156 | /* { */ | ||
157 | /* db.findLatest(key, */ | ||
158 | /* [=](const QByteArray &key, const QByteArray &value) -> bool { */ | ||
159 | /* Sink::EntityBuffer buffer(value.data(), value.size()); */ | ||
160 | /* const Sink::Entity &entity = buffer.entity(); */ | ||
161 | /* const auto metadataBuffer = Sink::EntityBuffer::readBuffer<Sink::Metadata>(entity.metadata()); */ | ||
162 | /* const qint64 revision = metadataBuffer ? metadataBuffer->revision() : -1; */ | ||
163 | /* const auto operation = metadataBuffer ? metadataBuffer->operation() : Sink::Operation_Creation; */ | ||
164 | /* auto adaptor = mDomainTypeAdaptorFactory.createAdaptor(entity); */ | ||
165 | /* Q_ASSERT(adaptor); */ | ||
166 | /* resultCallback(DomainType::Ptr::create(mResourceInstanceIdentifier, Sink::Storage::uidFromKey(key), revision, adaptor), operation); */ | ||
167 | /* return false; */ | ||
168 | /* }, */ | ||
169 | /* [&](const Sink::Storage::Error &error) { SinkWarning() << "Error during query: " << error.message << key; }); */ | ||
170 | /* } */ | ||
171 | |||
172 | |||
173 | |||
174 | template <class DomainType> | 153 | template <class DomainType> |
175 | QPair<qint64, qint64> EntityReader<DomainType>::executeInitialQuery(const Sink::Query &query, int offset, int batchsize, const std::function<bool(const typename DomainType::Ptr &value, Sink::Operation operation)> &callback) | 154 | QPair<qint64, qint64> EntityReader<DomainType>::executeInitialQuery(const Sink::Query &query, int offset, int batchsize, const std::function<bool(const typename DomainType::Ptr &value, Sink::Operation operation)> &callback) |
176 | { | 155 | { |
@@ -178,7 +157,7 @@ QPair<qint64, qint64> EntityReader<DomainType>::executeInitialQuery(const Sink:: | |||
178 | time.start(); | 157 | time.start(); |
179 | 158 | ||
180 | auto preparedQuery = ApplicationDomain::TypeImplementation<DomainType>::prepareQuery(query, mTransaction); | 159 | auto preparedQuery = ApplicationDomain::TypeImplementation<DomainType>::prepareQuery(query, mTransaction); |
181 | auto resultSet = preparedQuery.execute(); | 160 | auto resultSet = preparedQuery->execute(); |
182 | 161 | ||
183 | SinkTrace() << "Filtered set retrieved. " << Log::TraceTime(time.elapsed()); | 162 | SinkTrace() << "Filtered set retrieved. " << Log::TraceTime(time.elapsed()); |
184 | auto replayedEntities = replaySet(resultSet, offset, batchsize, callback); | 163 | auto replayedEntities = replaySet(resultSet, offset, batchsize, callback); |
@@ -195,7 +174,7 @@ QPair<qint64, qint64> EntityReader<DomainType>::executeIncrementalQuery(const Si | |||
195 | const qint64 baseRevision = lastRevision + 1; | 174 | const qint64 baseRevision = lastRevision + 1; |
196 | 175 | ||
197 | auto preparedQuery = ApplicationDomain::TypeImplementation<DomainType>::prepareQuery(query, mTransaction); | 176 | auto preparedQuery = ApplicationDomain::TypeImplementation<DomainType>::prepareQuery(query, mTransaction); |
198 | auto resultSet = preparedQuery.update(baseRevision); | 177 | auto resultSet = preparedQuery->update(baseRevision); |
199 | 178 | ||
200 | SinkTrace() << "Filtered set retrieved. " << Log::TraceTime(time.elapsed()); | 179 | SinkTrace() << "Filtered set retrieved. " << Log::TraceTime(time.elapsed()); |
201 | auto replayedEntities = replaySet(resultSet, 0, 0, callback); | 180 | auto replayedEntities = replaySet(resultSet, 0, 0, callback); |