Skip to main content

sql_middleware/sqlite/
mod.rs

1//! `SQLite` backend glue backed by a bb8 pool of `rusqlite` connections.
2//!
3//! Blocking `rusqlite` work runs on a dedicated worker thread per pooled connection,
4//! keeping the async runtime responsive while avoiding deadpool-sqlite.
5//!
6//! Submodules:
7//! - `config`: connection configuration and pool setup
8//! - `params`: parameter conversion between middleware and `SQLite` types
9//! - `query`: result extraction and building
10//! - `executor`: database operation execution
11//! - `transaction`: explicit transaction support
12//! - `prepared`: prepared statement helpers
13
14pub mod config;
15mod config_options;
16mod config_tests;
17pub mod connection;
18pub mod executor;
19pub mod params;
20pub mod prepared;
21pub mod query;
22pub mod transaction;
23pub mod typed;
24
25// Re-export the public API
26#[allow(unused_imports)]
27pub use config_options::{SqliteOptions, SqliteOptionsBuilder};
28#[allow(unused_imports)]
29pub use connection::{SqliteConnection, apply_wal_pragmas};
30#[allow(unused_imports)]
31pub use executor::{execute_batch, execute_dml, execute_select};
32#[allow(unused_imports)]
33pub use params::{Params, SqliteParamsBuf};
34pub use prepared::SqlitePreparedStatement;
35#[allow(unused_imports)]
36pub use query::build_result_set;
37#[allow(unused_imports)]
38pub use transaction::{Prepared, Tx, begin_transaction};
39#[allow(unused_imports)]
40pub use typed::{Idle, InTx, SqliteTypedConnection};