summaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAge
* Removed EntityReaderChristian 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.
* We no longer access the typeindex directlyChristian Mollekopf2016-10-21
|
* Simplified replaySetChristian Mollekopf2016-10-21
|
* Removed the now obsolete EntityStoreChristian Mollekopf2016-10-21
|
* 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.
* Define specialpurpose namesChristian Mollekopf2016-10-11
|
* Aggregate unread and important statusChristian Mollekopf2016-10-10
|
* Support for generic aggregations.Christian Mollekopf2016-10-10
|
* Replaced commented code with a comment.Christian Mollekopf2016-10-07
|
* A resource shutdown is only complete once we receive the notification.Christian Mollekopf2016-10-07
| | | | | Otherwise the tests might try to start a new resource before the last one even shut down.
* Detect when we try to operate on transactions that point to aChristian Mollekopf2016-10-07
| | | | | | non-existing env. ...which happens if we remove the env while transactions are open.
* Avoid using the resource object to remove the data from disk.Christian Mollekopf2016-10-07
| | | | | ...because creating it will potentially start transactions on the database we're about to remove.
* Revert "Error propagation should work now."Christian Mollekopf2016-10-07
| | | | This reverts commit b7fc5fa09a90ec383b58d846533b2b38ba7c577e.
* Error propagation should work now.Christian Mollekopf2016-10-06
|
* count as a first aggregation functionChristian Mollekopf2016-10-06
|
* Moved standard quries to a separate header.Christian Mollekopf2016-10-06
|
* No hardcoding of capabilitiesChristian Mollekopf2016-10-05
|
* A query for outgoing mailsChristian Mollekopf2016-10-05
|
* An identity belongs to an account too.Christian Mollekopf2016-10-05
|
* A better resource filter apiChristian Mollekopf2016-10-05
|
* Specify base set as part of the filter stages in the query.Christian Mollekopf2016-10-05
|
* Resource subqueriesChristian Mollekopf2016-10-04
|
* Backwards comaptible names and some cleanupChristian Mollekopf2016-10-04
|
* Less hardcoding of entity typesChristian Mollekopf2016-10-04
|
* Store the resource/account type as just "type"Christian Mollekopf2016-10-04
| | | | | We use the resource/account prefix only because just "Type" would conflict with the typedef.
* Only call fetch once on the aggregate fetcher.Christian Mollekopf2016-10-04
| | | | Otherwise we end up executing the initial query multiple times.
* Support for subqueries.Christian Mollekopf2016-10-04
| | | | | | This allows us to match properties from a subquery. Unfortunately this also means that DataStoreQuery needs access to all type implementations to issue the subquery (for potentially another type).
* CleanupChristian Mollekopf2016-09-29
|
* Use the Query::filter api.Christian Mollekopf2016-09-27
|
* Don't hardcode the type property.Christian Mollekopf2016-09-27
|
* Don't access the propertyFilter list directly.Christian Mollekopf2016-09-27
|
* New query apiChristian Mollekopf2016-09-27
|
* BloomingChristian Mollekopf2016-09-26
|
* The threading reduction is working.Christian Mollekopf2016-09-26
|
* A new query systemChristian Mollekopf2016-09-23
|
* Merge mails by subjectChristian Mollekopf2016-09-21
|
* Don't try to index empty values.Christian Mollekopf2016-09-20
|
* Assert if we call the wrong next functionChristian Mollekopf2016-09-20
|
* A first draft of the threading algorithm.Christian Mollekopf2016-09-20
|
* Refactored the query part of the entity reader into DataStoreQuery.Christian Mollekopf2016-09-19
| | | | | | | | | DataStoreQuery now encapsulates the low-level query that operates directly on the storage. It no longer has access to the resource buffers, and is instantiated by the type implementation, so we can specialize the query alogorithm per type, but not per resource. This will allow us to implement the threading queries for the mailtype.
* Avoid crashing if the executing object is already gone when we go intoChristian Mollekopf2016-09-15
| | | | | | | the continuation. This happens if Kube is used to look at a folder that is currently being freshly synchronized, so we continuously get new results.
* Don' create new entities on flag change.Christian Mollekopf2016-09-15
|
* This is not an error according to the testsChristian Mollekopf2016-09-15
|
* Ported to the kasync revampChristian Mollekopf2016-09-15
|
* Incremental fetch of mailsChristian Mollekopf2016-09-15
|
* Debug outputChristian Mollekopf2016-09-15
|
* Don't create a transaction for every revision that we don't replay.Christian Mollekopf2016-09-15
| | | | | This had a significant performance impact when i.e. syncing a folder with 10k messages.
* CleanupChristian Mollekopf2016-09-15
|
* Don't nest calls too deep.Christian Mollekopf2016-09-15
| | | | The old implementation would result in endlessly nested calls.