taskchampion-sync-server/sqlite
Dustin J. Mitchell 4029c03479
Support sequential consistency in SQLite implementation (#64)
This is a bit tricky because the `Storage` trait is `Send + Sync`, but
an SQLite connection is neither. Since this is not intended for
large-scale use, the simple solution is just to open a new SQLite
connection for each transaction. More complex alternatives include
thread-local connection pools or a "worker thread" that owns the
connection and communicates with other threads via channels.

This also updates the InMemoryStorage implementation to be a bit more
strict about transactional integrity, which led to a number of test
changes.
2024-11-26 16:22:35 -05:00
..
src Support sequential consistency in SQLite implementation (#64) 2024-11-26 16:22:35 -05:00
tests Support sequential consistency in SQLite implementation (#64) 2024-11-26 16:22:35 -05:00
Cargo.toml Add cargo-semver-checks (#59) 2024-11-17 17:59:39 -05:00
README.md Split the server into three crates (#56) 2024-11-17 15:12:42 -05:00

taskchampion-sync-server-storage-sqlite

This crate implements a SQLite storage backend for the taskchampion-sync-server-core.