| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Notes:
- Introduces the concept of queries on multiple properties (which meant changing query's internals a bit)
- Dates are stored as well as the "reference" in the index to allow quick filtering without fetching the whole entity
- Buckets are weeks starting on Monday (guaranteed by the use of the Julian calendar)
- Some size improvements are definitely possible (dates are padded numbers again, not using integer databases, Julian calendar starts at a very old date, etc.)
Test Plan: Tested in querytest
Reviewers: cmollekopf
Reviewed By: cmollekopf
Tags: #sink
Differential Revision: https://phabricator.kde.org/D13477
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This allows us to i.e. blindly mark mails as read in kube, with the
modification automatically being dropped if it doesn't do anything
useful.
|
| |
|
|
|
|
|
| |
Otherwise we end up sending sync requests for contacts to imap
resources.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
...by setting dummy values for properties we do not actually have set in
the config.
|
| |
|
|
|
|
|
| |
This avoid uselessly querying resources only to discover that they don't
have a facade for the type.
|
| |
|
| |
|
| |
|
|
|
|
| |
This allows to apply a modification to all entities matching some query.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Otherwise we'd have to maintain two query paths,
and getResource already broke because we didn't retrieve
the capabilities.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
... so we can use that information in fetchMore.
|
| |
|
|
|
|
|
| |
We used to loose the resource list and thus erroneously sync all
available resources.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Instead of trying to actually flush queues, we send a special command
through the same queues as the other commands and can thus guarantee
that the respective commands have been processed without blocking
anything.
|
|
|
|
| |
This fixes the clientapitest.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This reverts commit b7fc5fa09a90ec383b58d846533b2b38ba7c577e.
|
| |
|