Skip to main content

miden_node_db/
lib.rs

1mod conv;
2mod errors;
3pub mod migration;
4pub mod sqlite;
5
6use std::num::NonZeroUsize;
7
8pub use conv::{DatabaseTypeConversionError, SqlTypeConvert};
9pub use errors::{DatabaseError, SchemaVerificationError};
10
11pub type Result<T, E = DatabaseError> = std::result::Result<T, E>;
12
13/// Returns the default SQLite connection pool size.
14///
15/// Defaults to twice the available CPU parallelism. If the OS cannot report the available
16/// parallelism, fall back to two connections.
17pub fn default_connection_pool_size() -> NonZeroUsize {
18    let available_cores = std::thread::available_parallelism().map_or(1, NonZeroUsize::get);
19    let connection_count = available_cores.saturating_mul(2);
20    NonZeroUsize::new(connection_count).expect("connection count must be non-zero")
21}
22
23#[doc(hidden)]
24pub use miden_node_persistence as persistence;