summaryrefslogtreecommitdiffstats
path: root/common/storage.h
Commit message (Collapse)AuthorAge
* Fixed getUids by type filtering.Christian Mollekopf2017-09-07
| | | | | We used to simply return all uids. Requires "sinksh upgrade"
* A stab at the undefined reference to QMap<QByteArray, int>::QMap() errorChristian Mollekopf2017-06-06
| | | | ...that I only get on copr and nowhere else.
* Export DbLayoutChristian Mollekopf2017-05-08
|
* A defined table layoutChristian Mollekopf2017-05-06
|
* CleanupChristian Mollekopf2017-05-04
|
* Added uid indexChristian Mollekopf2017-04-10
|
* CleanupChristian Mollekopf2017-03-28
|
* SINK_EXPORT for free functions needs to go to the beginningChristian Mollekopf2017-01-26
|
* Fixed build issues with pedantic enabledChristian Mollekopf2017-01-12
|
* Debug outputChristian Mollekopf2017-01-07
|
* 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.
* Fixed a bunch of memory leaks.Christian Mollekopf2016-07-06
| | | | Found with valgrind
* A central place to generate uuid'sChristian Mollekopf2016-06-05
|
* Skip internal keys by default while scanning.Christian Mollekopf2016-06-05
|
* A way to retrieve the last revision during changereplay.Christian Mollekopf2016-06-03
|
* Detect and recover from invalid database environment.Christian Mollekopf2016-05-30
| | | | | | Sometimes wrong databases are returned for the name, probably related to threading/incorrect usage of lmdb. For the time being we recover from that by detecting it and retrying.
* Fixed genericresource so it works with the maildirresourcetestChristian Mollekopf2016-05-29
|
* Fromatted the whole codebase with clang-format.Christian Mollekopf2016-03-03
| | | | clang-format -i */**{.cpp,.h}
* Sequential keys go badly with findLatestChristian Mollekopf2016-02-12
|
* Use Sink instead of SinkCommonChristian Mollekopf2016-02-09
|
* Executed database removal in the resource instead of the client.Christian Mollekopf2016-02-08
| | | | | The resource doesn't really notify all clients properly about the removal, but the tests all still pass.
* Centralized main database nameChristian Mollekopf2016-02-01
|
* Insall sincommon_export.hChristian Mollekopf2016-01-31
|
* Renamed Akonadi2 to SinkChristian Mollekopf2016-01-20
| | | | (except for documentation).
* Detect modifications and removals on folders in the maildirresourceChristian Mollekopf2015-12-18
|
* Added a way to gather some db statistics.Christian Mollekopf2015-12-15
|
* Updated the index on modifications and removals.Christian Mollekopf2015-10-29
| | | | Misses tests.
* Cleanup revisions with a delayChristian Mollekopf2015-10-12
|
* Revision cleanupChristian Mollekopf2015-09-29
|
* Storage: substring search and findLatestChristian Mollekopf2015-09-11
|
* Removed no longer used APIChristian Mollekopf2015-08-26
|
* Removed convenience APIChristian Mollekopf2015-08-23
|
* Storage cleanupChristian Mollekopf2015-08-23
|
* Duplicate settings as part of opening db.Christian Mollekopf2015-08-23
|
* Use named databases in storage.Christian Mollekopf2015-08-22
| | | | This will allow us to create indexes in the same store.
* Make transactions testable as booleanChristian Mollekopf2015-08-18
|
* Autocommit for the transactionChristian Mollekopf2015-08-13
|
* Removed legacy APIChristian Mollekopf2015-08-11
|
* Default errorhandler like everywhere elseChristian Mollekopf2015-08-11
|
* Ported messagequeue to new APIChristian Mollekopf2015-08-10
|
* const scan and public default ctorChristian Mollekopf2015-08-10
|
* Transaction class for storageChristian Mollekopf2015-08-09
| | | | | | The beginning of a cleaner and less bare-bones API for the storage. The lifetime of transactions is now handled in (movable) transaction objects.
* Less noiseChristian Mollekopf2015-04-07
|
* Storage: API cleanup/use QByteArray instead of std::stringChristian Mollekopf2015-03-31
|
* void const -> const voidAaron Seigo2015-02-09
| | | | | equivalent syntax, but follows the standard idiom we use throughout the code .. const char *, not char const * (e.g.)
* introduce a set of isInternalKey functions to hide this impl detailAaron Seigo2015-01-27
|
* Storage: support for duplicates.Christian Mollekopf2015-01-20
|
* Error handling for remove.Christian Mollekopf2015-01-11
|
* Remove from storage call.Christian Mollekopf2015-01-11
|
* unifying buffer, and a better way to implement domain object adapters.Christian Mollekopf2014-12-24
|