pub struct SqliteStoreConfig {Show 19 fields
pub busy_timeout_ms: u64,
pub enable_wal: bool,
pub synchronous_normal: bool,
pub page_size_bytes: u32,
pub page_cache_size_bytes: u64,
pub wal_autocheckpoint_pages: u32,
pub node_read_cache_size_bytes: usize,
pub node_compression_min_bytes: usize,
pub mmap_size_bytes: u64,
pub reader_connections: usize,
pub primary_reader_uses_writer: bool,
pub node_read_cache_shards: usize,
pub max_batch_select_keys: usize,
pub background_checkpoints: bool,
pub checkpoint_wal_bytes: u64,
pub checkpoint_interval_ms: u64,
pub journal_size_limit_bytes: u64,
pub group_commit_delay_micros: u64,
pub group_commit_max_nodes: usize,
}Expand description
Configuration options for SqliteStore.
Fields§
§busy_timeout_ms: u64Busy timeout in milliseconds for contended SQLite locks.
enable_wal: boolEnable WAL journaling for file-backed databases.
synchronous_normal: boolSet SQLite synchronous mode to NORMAL when applying default pragmas.
page_size_bytes: u32Page size requested when creating a new SQLite database.
Existing databases retain the page size stored in their file header.
page_cache_size_bytes: u64Maximum bytes retained in SQLite’s page cache for this connection.
A larger cache prevents dirty B-tree pages from being spilled and rewritten repeatedly during large prolly-node publications.
wal_autocheckpoint_pages: u32Number of WAL pages that triggers an automatic checkpoint.
This should be large enough that a normal node publication commits without performing checkpoint I/O in its latency-sensitive path.
node_read_cache_size_bytes: usizeMaximum decoded node bytes retained by the adapter.
This cache complements SQLite’s encoded page cache and lets immutable nodes written earlier in the process satisfy later shared reads without another SQL lookup or decompression.
node_compression_min_bytes: usizeMinimum serialized node size considered for LZ4 compression.
Smaller values favor database size and cold I/O; larger values avoid compression CPU for latency-sensitive in-process publication.
mmap_size_bytes: u64Maximum database bytes SQLite may access through memory-mapped reads.
This avoids per-page read syscalls for large immutable prolly nodes while retaining SQLite’s normal transactional and durability guarantees.
reader_connections: usizeNumber of read-only SQLite connections used for concurrent cache misses, scans, and manifest reads. In-memory and externally supplied connections use the writer connection regardless of this value.
primary_reader_uses_writer: boolLet the first thread that reads from a file-backed store reuse the writer connection. This preserves the single-thread page and statement cache fast path while other threads use the read-only pool.
node_read_cache_shards: usizeNumber of independently locked decoded-node cache shards.
max_batch_select_keys: usizeMaximum SQLite variables used by one native multi-key read statement.
background_checkpoints: boolRun passive WAL checkpoints on a dedicated connection instead of in the latency-sensitive commit path.
checkpoint_wal_bytes: u64Run a passive checkpoint after the WAL file reaches this allocation.
checkpoint_interval_ms: u64Maximum delay between background checkpoint inspections.
journal_size_limit_bytes: u64Maximum retained WAL allocation after the log is reset.
group_commit_delay_micros: u64Optional window used to combine concurrent immutable-node publications into one durable SQLite transaction. Zero disables group commit.
group_commit_max_nodes: usizeMaximum number of nodes combined in one grouped publication transaction.
Trait Implementations§
Source§impl Clone for SqliteStoreConfig
impl Clone for SqliteStoreConfig
Source§fn clone(&self) -> SqliteStoreConfig
fn clone(&self) -> SqliteStoreConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SqliteStoreConfig
impl Debug for SqliteStoreConfig
Auto Trait Implementations§
impl Freeze for SqliteStoreConfig
impl RefUnwindSafe for SqliteStoreConfig
impl Send for SqliteStoreConfig
impl Sync for SqliteStoreConfig
impl Unpin for SqliteStoreConfig
impl UnsafeUnpin for SqliteStoreConfig
impl UnwindSafe for SqliteStoreConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more