LineairDB
0.1.0
|
LineairDB is the embedded database and is intended to work as a part of storage engine of other DBMSs, so this library does not support distributed transaction. However, online recovery is a helpful feature since it enables multiple LineairDB instances to synchronize the recorded information. This is a desirable feature in a mobile environment.
The current LineairDB executes the returns of commit callbacks an afterthought when the jobs in the thread pool is clogged. In other words, LineairDB::Database::ExecuteTransaction is lock-free but is not starvation-free. It is no worse in terms of cache efficiency, but it is better to forbid that a commit does not come back (eventually) forever.