Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Removed EntityReader | Christian Mollekopf | 2016-10-21 |
| | |||
* | Use the ApplicationDomainType in the queries as well. | Christian Mollekopf | 2016-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 directly | Christian Mollekopf | 2016-10-21 |
| | |||
* | Simplified replaySet | Christian Mollekopf | 2016-10-21 |
| | |||
* | Removed the now obsolete EntityStore | Christian Mollekopf | 2016-10-21 |
| | |||
* | Refactor how the storage is used. | Christian Mollekopf | 2016-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. | ||
* | Fixed build | Christian Mollekopf | 2016-10-11 |
| | |||
* | Ensure subquery results work with live queries | Christian Mollekopf | 2016-10-11 |
| | |||
* | Define specialpurpose names | Christian Mollekopf | 2016-10-11 |
| | |||
* | Aggregate unread and important status | Christian Mollekopf | 2016-10-10 |
| | |||
* | Support for generic aggregations. | Christian Mollekopf | 2016-10-10 |
| | |||
* | These jobs now work reliably. | Christian Mollekopf | 2016-10-07 |
| | |||
* | Replaced commented code with a comment. | Christian Mollekopf | 2016-10-07 |
| | |||
* | A resource shutdown is only complete once we receive the notification. | Christian Mollekopf | 2016-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 a | Christian Mollekopf | 2016-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 Mollekopf | 2016-10-07 |
| | | | | | ...because creating it will potentially start transactions on the database we're about to remove. | ||
* | Revert "Error propagation should work now." | Christian Mollekopf | 2016-10-07 |
| | | | | This reverts commit b7fc5fa09a90ec383b58d846533b2b38ba7c577e. | ||
* | Error propagation should work now. | Christian Mollekopf | 2016-10-06 |
| | |||
* | count as a first aggregation function | Christian Mollekopf | 2016-10-06 |
| | |||
* | Moved standard quries to a separate header. | Christian Mollekopf | 2016-10-06 |
| | |||
* | No hardcoding of capabilities | Christian Mollekopf | 2016-10-05 |
| | |||
* | A query for outgoing mails | Christian Mollekopf | 2016-10-05 |
| | |||
* | An identity belongs to an account too. | Christian Mollekopf | 2016-10-05 |
| | |||
* | A better resource filter api | Christian Mollekopf | 2016-10-05 |
| | |||
* | Specify base set as part of the filter stages in the query. | Christian Mollekopf | 2016-10-05 |
| | |||
* | Resource subqueries | Christian Mollekopf | 2016-10-04 |
| | |||
* | Backwards comaptible names and some cleanup | Christian Mollekopf | 2016-10-04 |
| | |||
* | Less hardcoding of entity types | Christian Mollekopf | 2016-10-04 |
| | |||
* | Store the resource/account type as just "type" | Christian Mollekopf | 2016-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 Mollekopf | 2016-10-04 |
| | | | | Otherwise we end up executing the initial query multiple times. | ||
* | Support for subqueries. | Christian Mollekopf | 2016-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). | ||
* | Account filter test | Christian Mollekopf | 2016-09-29 |
| | |||
* | Cleanup | Christian Mollekopf | 2016-09-29 |
| | |||
* | Use the Query::filter api. | Christian Mollekopf | 2016-09-27 |
| | |||
* | Don't hardcode the type property. | Christian Mollekopf | 2016-09-27 |
| | |||
* | Don't access the propertyFilter list directly. | Christian Mollekopf | 2016-09-27 |
| | |||
* | New query api | Christian Mollekopf | 2016-09-27 |
| | |||
* | Blooming | Christian Mollekopf | 2016-09-26 |
| | |||
* | The threading reduction is working. | Christian Mollekopf | 2016-09-26 |
| | |||
* | A new query system | Christian Mollekopf | 2016-09-23 |
| | |||
* | Merge mails by subject | Christian Mollekopf | 2016-09-21 |
| | |||
* | Don't try to index empty values. | Christian Mollekopf | 2016-09-20 |
| | |||
* | Assert if we call the wrong next function | Christian Mollekopf | 2016-09-20 |
| | |||
* | A first draft of the threading algorithm. | Christian Mollekopf | 2016-09-20 |
| | |||
* | Refactored the query part of the entity reader into DataStoreQuery. | Christian Mollekopf | 2016-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 into | Christian Mollekopf | 2016-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. | ||
* | New synchronization algorithm that only fetches the last 14 days. | Christian Mollekopf | 2016-09-15 |
| | |||
* | New kimap2 syntax | Christian Mollekopf | 2016-09-15 |
| | |||
* | New kimap2 syntax | Christian Mollekopf | 2016-09-15 |
| | |||
* | Remember highestmodseq | Christian Mollekopf | 2016-09-15 |
| |