Commit Graph

7 Commits

Author SHA1 Message Date
Piotr Sarna
04a78f73fb treewide: add persistent storage trait
This draft adds a persistent storage trait that can be used
to store transaction logs and read the log for recovery purposes.
Work in heavy progress, because ideally the design should also
allow reading versions from the storage, so that data can be
spilled from memory to disk if there's not enough RAM available.
2023-04-17 14:46:39 +02:00
Piotr Sarna
546db5a983 sync: add AsyncMutex trait
With AsyncMutex, we can use different mutex mechanisms
in the database - e.g. tokio::sync::Mutex.
2023-04-14 15:09:13 +02:00
Piotr Sarna
bfe3bcef71 asyncify
In order to prepare for #3, the APIs are made asynchronous.
It also applies to tests and benches.
2023-04-14 15:08:51 +02:00
Pekka Enberg
204d65ad05 Move clock code to clock.rs 2023-04-13 10:09:23 +03:00
Pekka Enberg
d7ecfc054c Fix lost update anomaly
Fixes #5
2023-04-13 09:57:26 +03:00
Pekka Enberg
77d639fc20 Fix concurrency test
It was accidentally using row ID as transaction ID...
2023-04-12 11:56:22 +03:00
Pekka Enberg
22042612d5 Concurrency test
The test is disabled because it triggers an assertion in the MVCC
implementation.
2023-04-12 11:45:15 +03:00