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;
17pub mod query_builder;
18pub mod translation;
19
20// Core modules
21pub mod error;
22pub mod executor;
23pub mod middleware;
24pub mod pool;
25pub mod query;
26pub mod results;
27pub mod types;
28
29// Private database-specific modules
30#[cfg(feature = "libsql")]
31pub mod libsql;
32#[cfg(feature = "mssql")]
33mod mssql;
34#[cfg(feature = "postgres")]
35pub mod postgres;
36#[cfg(feature = "sqlite")]
37mod sqlite;
38#[cfg(feature = "turso")]
39pub mod turso;
40
41#[cfg(feature = "benchmarks")]
42pub use crate::sqlite::{
43    params::{SqliteParamsExecute, SqliteParamsQuery},
44    query::build_result_set as sqlite_build_result_set,
45};
46
47#[cfg(feature = "benchmarks")]
48pub use crate::conversion::convert_sql_params as sqlite_convert_params;
49
50// Direct exports for frequently used types
51pub use middleware::{
52    AnyConnWrapper, ConfigAndPool, ConversionMode, CustomDbRow, DatabaseType, MiddlewarePool,
53    MiddlewarePoolConnection, ParamConverter, QueryAndParams, QueryBuilder, ResultSet, RowValues,
54    SqlMiddlewareDbError,
55};
56
57// Re-export from modules for convenience
58pub use conversion::convert_sql_params;
59pub use exports::*;
60pub use translation::{PlaceholderStyle, QueryOptions, TranslationMode, translate_placeholders};
61
62// Compatibility alias for existing code
63pub mod test_helpers {
64    pub use crate::helpers::create_test_row;
65}