summaryrefslogtreecommitdiffstats
path: root/common/storage/entitystore.cpp
Commit message (Collapse)AuthorAge
* Introduced Log::ContextChristian Mollekopf2016-12-22
| | | | | | | To have hierarchical debug output we have to pass around something at run-time, there is no reasonable alternative. Log::Context provides the identifier to do just that and largely replaces the debug component idea.
* CleanupChristian Mollekopf2016-12-20
|
* Avoid unnecessary warnings if the db is not existing.Christian Mollekopf2016-12-16
| | | | | It is expected that a query returns nothing if the db is not existing yet.
* Move the BLOB property handling to the entitystore.Christian Mollekopf2016-12-09
| | | | | | This is really part of the storage, and will help us to cleanly implement features like moving properties into a temporary place when reading in a clean way as well.
* Wrap references in a Reerence type.Christian Mollekopf2016-12-08
| | | | | | | | This allows us to make sure that references are not taken out of context (the resource). Because we need to use the type-specific accessors more we also ran into a problem that we cannot "downcast" a reference with the change recording still working, for that we have the cast<T>() operator now.
* Debug outputChristian Mollekopf2016-12-06
|
* Copy command and proper moveChristian Mollekopf2016-12-04
|
* TypeHelper so we can centrally define the type dispatchChristian Mollekopf2016-11-30
| | | | | | Not pretty, but that at least allows us to centrally define the string to type dispatch (It's somehow very hard to do in C++ without repeating all types over and over in various interfaces).
* Deal with not using the implicit internal transaction.Christian Mollekopf2016-11-24
|
* Avoid unnecessary transactions.Christian Mollekopf2016-11-22
|
* User querybaseChristian Mollekopf2016-11-04
|
* CleanupChristian Mollekopf2016-10-21
|
* Get access to properties in indexes.Christian Mollekopf2016-10-21
|
* TypeImplementation cleanupChristian Mollekopf2016-10-21
|
* Removed the whole revision cleanup into the entitystoreChristian Mollekopf2016-10-21
|
* Ported the pipeline to the entitystoreChristian Mollekopf2016-10-21
|
* Use the ApplicationDomainType in the queries as well.Christian Mollekopf2016-10-21
| | | | | We have to access properties, so we need the mapper anyways, and the ApplicationDomainType type shouldn't be a large overhead anyways.
* Refactor how the storage is used.Christian Mollekopf2016-10-21
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.