Heyang Zhou
Heyang Zhou
The commit group feature that allows multi-database transactions is removed from the latest version, because an elegant API design is not found. SQLite doesn't give us a way to associate...
Found by running ycsb on FUSE: - https://github.com/losfair/mvsqlite/runs/8002618879?check_suite_focus=true - https://github.com/losfair/mvsqlite/runs/8002619073?check_suite_focus=true Preload mode is not affected. Related: https://github.com/losfair/mvsqlite/pull/38
The current primitives provided by mvstore/mvsqlite is enough to implement efficient change notification for queries: notify the app when the result of running a query may change. The mechanisms involved...
Import from and export to SQLite database files.
It would be nice to run [Jepsen tests](https://github.com/jepsen-io/jepsen) on mvsqlite to verify its correctness.
This makes it possible to configure the database path separately via the `TRILIUM_DB_PATH` environment variable.
Related: https://github.com/zadam/trilium/discussions/3029 SQLite variants/extensions like [mvSQLite](https://github.com/losfair/mvsqlite) and [LiteFS](https://github.com/superfly/litefs) do not support WAL. By adding a environment variable option to disable WAL we can get Trilium working on these systems.
SQLite uses a freelist to manage free pages. This is a major source of INSERT contention when using an optimistic lock-free storage layer, like [mvSQLite](https://github.com/losfair/mvsqlite). Ideally we should push free...
With an optimistic VFS, sequentially increasing ROWIDs is a primary source of contention, and causes significant INSERT slowdown in [my benchmark](https://univalence.me/posts/mvsqlite-bench-20220930). We should provide a table-level option to allocate ROWIDs...
If the requested hostname resolves to multiple IP addresses, divide the timeout evenly between them and try all IP addresses. This is implemented in hyper (https://github.com/hyperium/hyper/pull/1972) but it seems that...