summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Use Akonadi2::Store::ChildrenFetchedRoleChristian Mollekopf2015-12-06
|
* Added TypeIndexChristian Mollekopf2015-12-06
| | | | | A central location for all types to specify what properties are indexed, and how to query them.
* example client and propertiesChristian Mollekopf2015-12-04
|
* ModelResult header data, and support listing various types in theChristian Mollekopf2015-12-04
| | | | dummyclient
* Reduced boilerplate for buffer mappingChristian Mollekopf2015-12-04
|
* Provide a way to get to the ApplicationDomainType base classChristian Mollekopf2015-12-04
| | | | QVariant doesn't support polymorphism for non-QObject classes.
* Added mail and folder propertiesChristian Mollekopf2015-12-04
|
* Improved resource access cachingChristian Mollekopf2015-12-03
| | | | | | | | * Smarter caching. ResourceAccess instances close after a timeout, if not reused. * Introduced a start command to avoid race condition when sending commands to a resource that is currently shutting down. * We resend pending commands after we lost access to the resource * unexpectedly.
* Cache ResourceAccess instances.Christian Mollekopf2015-12-01
| | | | | | | | | We want one connection per application per resource instance. With this change the connection is maintained for the lifetime of the client process (it should probably time out instead), but we at least avoid creating a connection per operation/query, which results in a significant performance boost (~10% for reading, 90% for writing in dummyresourcebenchmark).
* Use hawd for dummyresourcebenchmarkChristian Mollekopf2015-12-01
|
* HAWD: Ensure the column order is maintainedChristian Mollekopf2015-12-01
| | | | | | | By turning the columns into an array instead of an object, we can print the values in the same order as in the definition file. Previosly the order was random, and even headers and values were somtimes mixed up.
* Synchronizer: One transaction per sync, and check if entity alreadyChristian Mollekopf2015-12-01
| | | | | | exists. With this we no longer repeatedly create entities on every sync.
* We don't need the remoteId indexChristian Mollekopf2015-12-01
|
* Pipeline: Ensure a created entity has a new id.Christian Mollekopf2015-12-01
| | | | | Since we can now inject entity ids we have to ensure they are not already existing.
* Pipeline: only emit a change if the revision actually changed.Christian Mollekopf2015-12-01
| | | | | We had quite a bunch of superfluous notifications before (i.e. during cleanup).
* Example client: sync and treesChristian Mollekopf2015-12-01
|
* Resolve remoteIds during syncChristian Mollekopf2015-12-01
| | | | | | | Remote id's need to be resolved while syncing any references. This is done by the synchronizer by consulting the rid to entity id mapping. If the referenced entity doesn't exist yet we create a local id anyways, that we then need to pick up once the actual entity arrives.
* Fixed some warningsChristian Mollekopf2015-11-30
|
* Merge branch 'feature/modelresult' into developChristian Mollekopf2015-11-30
|\
| * example client: slot performance measurements, async commandsChristian Mollekopf2015-11-30
| |
| * Test modificationsChristian Mollekopf2015-11-30
| |
| * Less debug outputChristian Mollekopf2015-11-30
| |
| * ModelResult: return an invalid QModelIndex for the toplevel parentChristian Mollekopf2015-11-30
| |
| * Use the ChildrenFetchedRoleChristian Mollekopf2015-11-30
| |
| * Provide status information about children fetch stateChristian Mollekopf2015-11-30
| | | | | | | | The fetch state is per parent.
| * Test model signalsChristian Mollekopf2015-11-30
| |
| * Debug outputChristian Mollekopf2015-11-30
| |
| * Only install the headers we need.Christian Mollekopf2015-11-30
| | | | | | | | We go rid of large parts of the header entanglements.
| * ModelResult hasChildren, cleanupChristian Mollekopf2015-11-30
| |
| * CleanupChristian Mollekopf2015-11-28
| |
| * CleanupChristian Mollekopf2015-11-28
| |
| * Removed most uses of SyncListResult and brought back theChristian Mollekopf2015-11-28
| | | | | | | | dummyresourcetest
| * list and count options for non-gui operationsChristian Mollekopf2015-11-27
| |
| * Introduced a QueryRunner objectChristian Mollekopf2015-11-27
| | | | | | | | | | | | | | | | The QueryRunner object lives for the duration of the query (so just for the initial query for non-live queries, and for the lifetime of the result model for live queries). It's supposed to handle all the threading internally and decouple the lifetime of the facade.
| * Use the new model api in the benchmark and split tests up.Christian Mollekopf2015-11-26
| | | | | | | | This way it's possible to i.e. repeatedly only run the reading part.
| * Avoid repeatedly opening the name db.Christian Mollekopf2015-11-26
| | | | | | | | | | Although, the benchmarks say it doesn't really have an impact on performance.
| * Separate the default index updater from other generic indexersChristian Mollekopf2015-11-25
| |
| * Fixed modifications.Christian Mollekopf2015-11-25
| | | | | | | | Without this modifications are ignored also in incremental queries.
| * Only use the parent index when it's availableChristian Mollekopf2015-11-25
| |
| * Less noiseChristian Mollekopf2015-11-25
| |
| * Optimize findLastChristian Mollekopf2015-11-25
| | | | | | | | | | This just gave a 700% boost to query performance from ~2k to 14k reads per second...
| * Use Query::parentProperty to express tree queriesChristian Mollekopf2015-11-24
| | | | | | | | | | That way we don't have to hardcode the parent property, and we can use the property to express non-tree queries as well.
| * Separated DomainTypeAdaptorFactoryInterfaceChristian Mollekopf2015-11-21
| |
| * Don't try to fetch more once the parent is fetched.Christian Mollekopf2015-11-21
| | | | | | | | We're not doing partial fetches yet
| * Fixed buildChristian Mollekopf2015-11-21
| |
| * Moved facade implementation to cpp fileChristian Mollekopf2015-11-19
| |
| * Move implementations to the cpp file.Christian Mollekopf2015-11-19
| | | | | | | | | | | | | | | | I finally figured out how to do that with cpp files. It requires instantiating the code with all expected classes, but that's not a big problem since we know all types. This will hopefully greatly reduce the compiletimes...
| * The parent is always an object, so we might as well make that explicitChristian Mollekopf2015-11-19
| |
| * Loading data with the new model for the test clientChristian Mollekopf2015-11-19
| |
| * Use the new modelresult in the dummyclientChristian Mollekopf2015-11-19
| |