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. --- sinksh/syntax_modules/sink_stat.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sinksh/syntax_modules/sink_stat.cpp') diff --git a/sinksh/syntax_modules/sink_stat.cpp b/sinksh/syntax_modules/sink_stat.cpp index 9f0fe44..5978c01 100644 --- a/sinksh/syntax_modules/sink_stat.cpp +++ b/sinksh/syntax_modules/sink_stat.cpp @@ -42,8 +42,8 @@ void statResources(const QStringList &resources, const State &state) { qint64 total = 0; for (const auto &resource : resources) { - Sink::Storage storage(Sink::storageLocation(), resource, Sink::Storage::ReadOnly); - auto transaction = storage.createTransaction(Sink::Storage::ReadOnly); + Sink::Storage::DataStore storage(Sink::storageLocation(), resource, Sink::Storage::DataStore::ReadOnly); + auto transaction = storage.createTransaction(Sink::Storage::DataStore::ReadOnly); QList databases = transaction.getDatabaseNames(); for (const auto &databaseName : databases) { @@ -57,7 +57,7 @@ void statResources(const QStringList &resources, const State &state) QDir dir(Sink::storageLocation()); for (const auto &folder : dir.entryList(QStringList() << resource + "*")) { - diskUsage += Sink::Storage(Sink::storageLocation(), folder, Sink::Storage::ReadOnly).diskUsage(); + diskUsage += Sink::Storage::DataStore(Sink::storageLocation(), folder, Sink::Storage::DataStore::ReadOnly).diskUsage(); } auto size = diskUsage / 1024; state.printLine(QObject::tr("Disk usage [kb]: %1").arg(size), 1); -- cgit v1.2.3