sql_middleware/
lib.rs

1#![doc = include_str!("../docs.md")]
2#![forbid(unsafe_code)]
3
4// Test utilities module - only compiled with test-utils feature
5#[cfg(feature = "test-utils")]
6pub mod test_utils;
7
8// Benchmark utilities module - for benchmarks
9#[cfg(feature = "benchmarks")]
10pub mod benchmark;
11
12// Public API modules
13pub mod conversion;
14pub mod exports;
15pub mod helpers;
16pub mod prelude;
17
18// Core modules
19pub mod error;
20pub mod executor;
21pub mod middleware;
22pub mod pool;
23pub mod query;
24pub mod results;
25pub mod types;
26
27// Private database-specific modules
28#[cfg(feature = "libsql")]
29pub mod libsql;
30#[cfg(feature = "mssql")]
31mod mssql;
32#[cfg(feature = "postgres")]
33pub mod postgres;
34#[cfg(feature = "sqlite")]
35mod sqlite;
36#[cfg(feature = "turso")]
37pub mod turso;
38
39#[cfg(feature = "benchmarks")]
40pub use crate::sqlite::{
41    params::{SqliteParamsExecute, SqliteParamsQuery},
42    query::build_result_set as sqlite_build_result_set,
43};
44
45#[cfg(feature = "benchmarks")]
46pub use crate::conversion::convert_sql_params as sqlite_convert_params;
47
48// Direct exports for frequently used types
49pub use middleware::{
50    AnyConnWrapper, AsyncDatabaseExecutor, ConfigAndPool, ConversionMode, CustomDbRow,
51    DatabaseType, MiddlewarePool, MiddlewarePoolConnection, ParamConverter, QueryAndParams,
52    ResultSet, RowValues, SqlMiddlewareDbError,
53};
54
55// Re-export from modules for convenience
56pub use conversion::convert_sql_params;
57pub use exports::*;
58
59// Compatibility alias for existing code
60pub mod test_helpers {
61    pub use crate::helpers::create_test_row;
62}