summaryrefslogtreecommitdiffstats
path: root/common/typeindex.cpp
Commit message (Collapse)AuthorAge
* Added threading index cleanupChristian Mollekopf2017-06-15
|
* QDateTime::toString is really slowChristian Mollekopf2017-05-12
|
* Added draft property index.Christian Mollekopf2017-05-12
| | | | | | We need this for the composer to efficiently query. Since we don't have any migration code this will require all data to be refetched (sinksh upgrade).
* No more SINK_DEBUG_AREAChristian Mollekopf2017-05-12
|
* lmdb cleanupChristian Mollekopf2017-03-06
|
* Removed unnecessary debugoutputChristian Mollekopf2017-02-13
|
* Fixed index removalsChristian Mollekopf2017-02-13
|
* Cleaner index syntax, don't index messageid twiceChristian Mollekopf2017-02-13
|
* 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.
* 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.
* User querybaseChristian Mollekopf2016-11-04
|
* Get access to properties in indexes.Christian Mollekopf2016-10-21
|
* A new indexer subsystem that can be used for indexes that are moreChristian Mollekopf2016-10-21
| | | | complex than a simple key-value pair.
* Ported the pipeline to the 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.
* 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).
* Don't access the propertyFilter list directly.Christian Mollekopf2016-09-27
|
* The threading reduction is working.Christian Mollekopf2016-09-26
|
* A new query systemChristian Mollekopf2016-09-23
|
* Don't try to index empty values.Christian Mollekopf2016-09-20
|
* A new debug system.Christian Mollekopf2016-07-07
| | | | | | | | | | | | | | | Instead of a single #define as debug area the new system allows for an identifier for each debug message with the structure component.area. The component is a dot separated identifier of the runtime component, such as the process or the plugin. The area is the code component, and can be as such defined at compiletime. The idea of this system is that it becomes possible to i.e. look at the output of all messages in the query subsystem of a specific resource (something that happens in the client process, but in the resource-specific subcomponent). The new macros are supposed to be less likely to clash with other names, hence the new names.
* Fixed cleanup of date indexesChristian Mollekopf2016-06-20
|
* Fix cache update on removalChristian Mollekopf2016-06-20
|
* Don't try to remove empty values from the index.Christian Mollekopf2016-06-19
| | | | Indexes don't allow empty keys, so this will always fail.
* 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.
* CleanupChristian Mollekopf2016-02-20
|
* Prepared sort indexesChristian Mollekopf2016-02-16
|
* Avoid warnings when trying to write empty keys.Christian Mollekopf2016-02-11
|
* Introduced debug areas and prettified output.Christian Mollekopf2016-02-04
|
* Don't always return after the first iterationChristian Mollekopf2016-01-31
|
* Renamed Akonadi2 to SinkChristian Mollekopf2016-01-20
| | | | (except for documentation).
* Properly index datesChristian Mollekopf2015-12-27
|
* Don't try to index stuff that isn't availableChristian Mollekopf2015-12-26
|
* Ported folder and event to TypeIndexChristian Mollekopf2015-12-07
|
* Added TypeIndexChristian Mollekopf2015-12-06
A central location for all types to specify what properties are indexed, and how to query them.