From 237b9ae4113e7a9f489632296941becb71afdb45 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Sun, 16 Oct 2016 14:55:20 +0200 Subject: Refactor how the storage is used. This is the initial refactoring to improve how we deal with the storage. It does a couple of things: * Rename Sink::Storage to Sink::Storage::DataStore to free up the Sink::Storage namespace * Introduce a Sink::ResourceContext to have a single object that can be passed around containing everything that is necessary to operate on a resource. This is a lot better than the multiple separate parameters that we used to pass around all over the place, while still allowing for dependency injection for tests. * Tie storage access together using the new EntityStore that directly works with ApplicationDomainTypes. This gives us a central place where main storage, indexes and buffer adaptors are tied together, which will also give us a place to implement external indexes, such as a fulltextindex using xapian. * Use ApplicationDomainTypes as the default way to pass around entities. Instead of using various ways to pass around entities (buffers, buffer adaptors, ApplicationDomainTypes), only use a single way. The old approach was confusing, and was only done as: * optimization; really shouldn't be necessary and otherwise I'm sure we can find better ways to optimize ApplicationDomainType itself. * a way to account for entities that have multiple buffers, a concept that I no longer deem relevant. While this commit does the bulk of the work to get there, the following commits will refactor more stuff to get things back to normal. --- tests/hawd/dataset.cpp | 8 ++++---- tests/hawd/dataset.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'tests/hawd') diff --git a/tests/hawd/dataset.cpp b/tests/hawd/dataset.cpp index c023f31..fb2d7e6 100644 --- a/tests/hawd/dataset.cpp +++ b/tests/hawd/dataset.cpp @@ -215,7 +215,7 @@ QString Dataset::Row::toString(const QStringList &cols, int standardCols, const Dataset::Dataset(const QString &name, const State &state) : m_definition(state.datasetDefinition(name)), - m_storage(state.resultsPath(), name, Sink::Storage::ReadWrite), + m_storage(state.resultsPath(), name, Sink::Storage::DataStore::ReadWrite), m_transaction(m_storage.createTransaction()), m_commitHash(state.commitHash()) { @@ -270,13 +270,13 @@ void Dataset::eachRow(const std::function &resultHandler) resultHandler(row); return true; }, - Sink::Storage::basicErrorHandler()); + Sink::Storage::DataStore::basicErrorHandler()); } Dataset::Row Dataset::row(qint64 key) { if (key < 1) { - Row row(*this, Sink::Storage::maxRevision(m_transaction)); + Row row(*this, Sink::Storage::DataStore::maxRevision(m_transaction)); row.setCommitHash(m_commitHash); return row; } @@ -287,7 +287,7 @@ Dataset::Row Dataset::row(qint64 key) row.fromBinary(value); return true; }, - Sink::Storage::basicErrorHandler() + Sink::Storage::DataStore::basicErrorHandler() ); return row; } diff --git a/tests/hawd/dataset.h b/tests/hawd/dataset.h index 0fca8f0..bb2aae5 100644 --- a/tests/hawd/dataset.h +++ b/tests/hawd/dataset.h @@ -84,8 +84,8 @@ public: private: DatasetDefinition m_definition; - Sink::Storage m_storage; - Sink::Storage::Transaction m_transaction; + Sink::Storage::DataStore m_storage; + Sink::Storage::DataStore::Transaction m_transaction; QString m_commitHash; }; -- cgit v1.2.3