Expand description
Depot-backed SQLite client.
Provides the native SQLite VFS used by Rivet actors.
This is a pure Rust library. N-API bindings and transport clients live in separate crates that compose this one.
The SQLite implementation used by rivetkit-napi is defined in this crate.
Keep its storage layout and behavior in sync with the internal SQLite
data-channel spec.
Key invariants:
- PRAGMA settings
- Delete and truncate behavior
- Journal and BATCH_ATOMIC behavior
Re-exports§
pub use sqlite_types as types;
Modules§
- database
- Unified native database handles and open helpers.
- guard
- Guards for connections that run SQL sent by an untrusted peer. Resource and statement guards for a connection that runs SQL sent by an untrusted peer.
- optimization_
flags - SQLite optimization feature flags. Process page budgets and I/O concurrency. Prefetch policy is owned by the server.
- pager_
cache - Process-wide SQLite page cache shared by every connection.
Process-wide SQLite page cache, installed through
SQLITE_CONFIG_PCACHE2. - query
- SQLite query execution helpers.
- sqlite_
page - Lightweight SQLite page classification for prefetch planning. Lightweight SQLite page classification for the VFS prefetch planner.
- vfs
- Custom SQLite VFS for actor-side depot transport. The actor SQLite VFS over a page transport.
- worker
- Single-threaded native SQLite command worker. Runs each database’s SQLite commands on a shared pool of plain OS threads.