summaryrefslogtreecommitdiffstats
path: root/tests/querytest.cpp
Commit message (Collapse)AuthorAge
* Fixed removal of entityChristian Mollekopf2017-12-29
|
* Fixed incremental updates in folder queriesChristian Mollekopf2017-12-28
| | | | | | | | | Incremental additions of children in the tree were filtered due to the parent filter. This broke when we started to maintain state, thus causing the filter in datastorequery containing the parent filter to be carried over. Given that the incremental querying of children currently doesn't really add much value (we don't have trees that are large/deep enough), perhaps we're better off using a different approach.
* Fixed incremental queriesChristian Mollekopf2017-06-10
| | | | | | The incremental querying broke as soon as a revision update came in since it would nuke the base-set. This fixes it, but it's definitely not pretty.
* Don't add resources that don't match the query during a livequeryChristian Mollekopf2017-05-12
|
* Made the test a bit conciserChristian Mollekopf2017-05-12
|
* Fixed querytestChristian Mollekopf2017-05-11
|
* Handle filtered thread-leaderChristian Mollekopf2017-03-19
|
* Avoid triggering reinsert if the leader doesn't change.Christian Mollekopf2017-02-13
|
* Ensure we don't accidentally pick up a dataChanaged signal from theChristian Mollekopf2017-02-13
| | | | initial fetch.
* Don't emit superfluous remove signals.Christian Mollekopf2017-02-13
| | | | | We often let removal updates through and expect the model to deal with superfluous updates, this now actually implements that.
* Fixed reduction updates with stateful query.Christian Mollekopf2017-02-13
| | | | | | Some filters need to maintain state between runs in order to be able to emit only what has changed. This now also make reduction work for live queries.
* Fixed query flags.Christian Mollekopf2017-02-13
|
* Use the messageId instead of the uid.Christian Mollekopf2017-02-09
| | | | | The uid is not existing for the mail and the threading requires a messageId.
* Ensure blooming queries filter as they shouldChristian Mollekopf2017-01-31
| | | | After the initial bloom, it should turn into a regular filter.
* Don't turn modifications into creationsChristian Mollekopf2017-01-04
|
* React to removals in reduced live-query.Christian Mollekopf2017-01-03
|
* 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.
* Hide Query::parentPropertyChristian Mollekopf2016-11-14
|
* Hide the Query::limitChristian Mollekopf2016-11-14
|
* Register query serializerChristian Mollekopf2016-11-07
|
* Query serialization.Christian Mollekopf2016-11-06
|
* Don't expose the live query flag directly.Christian Mollekopf2016-11-04
|
* 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.
* Ensure subquery results work with live queriesChristian Mollekopf2016-10-11
|
* 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
|
* 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).
* Account filter testChristian Mollekopf2016-09-29
|
* Use the Query::filter api.Christian Mollekopf2016-09-27
|
* A new query systemChristian Mollekopf2016-09-23
|
* React to new resourcesChristian Mollekopf2016-07-12
|
* Shorten the types to be more distinctive.Christian Mollekopf2016-07-08
| | | | | The org.kde prefix is useless and possibly misleading. Simply prefixing with sink is more unique and shorter.
* Control debugoutput during tests with sinksh.Christian Mollekopf2016-07-08
|
* Refactored the generic resource to use separate classes forChristian Mollekopf2016-05-28
| | | | | | | | changereplay and synchronization. This cleans up the API and avoids the excessive passing around of transactions. It also provides more flexibility in eventually using different synchronization strategies for different resources.
* Account filter for resources and contains comparator in queryChristian Mollekopf2016-05-01
|
* Fromatted the whole codebase with clang-format.Christian Mollekopf2016-03-03
| | | | clang-format -i */**{.cpp,.h}
* Fetch more data on demandChristian Mollekopf2016-02-20
| | | | | | | | We skip values we've already seen and only retrieve the new ones. This currently only properly works in a non-live query and we don't give the model any feedback when we can't fetch more data anymore. However, it generally works and we get the desired effect.
* Use slots/signals instead of Q_SLOTS/Q_SIGNALS for clang-format compatibilityChristian Mollekopf2016-02-17
|
* The top-level fetchMore call happens implicitlyChristian Mollekopf2016-02-15
|
* Ensure we correctly sort by date.Christian Mollekopf2016-02-15
|
* Stop using clientapi.hChristian Mollekopf2016-02-10
|
* Renamed Resources to ResourceControlChristian Mollekopf2016-02-10
|
* Moved some APIChristian Mollekopf2016-02-09
|
* Avoid shutdowns where we can.Christian Mollekopf2016-02-08
|
* Renamed Akonadi2 to SinkChristian Mollekopf2016-01-20
| | | | (except for documentation).
* Got rid of all uses of Query::syncOnDemand and Query::processAllChristian Mollekopf2016-01-14
|
* Make queries by id workChristian Mollekopf2015-12-17
|
* Mail by folder query testChristian Mollekopf2015-12-10
|
* Deal with no available resourcesChristian Mollekopf2015-12-10
|