1#![doc = include_str!("../docs.md")]
2#![forbid(unsafe_code)]
3
4#[path = "test_utils/test_helpers.rs"]
6pub mod test_helpers;
7
8#[cfg(feature = "benchmarks")]
10pub mod benchmark;
11
12pub mod conversion;
14pub mod prelude;
15pub mod translation;
16pub mod tx_outcome;
17pub mod typed;
18pub use typed as typed_api;
20#[cfg(feature = "mssql")]
21pub mod typed_mssql;
22#[cfg(feature = "postgres")]
23pub mod typed_postgres;
24#[cfg(feature = "sqlite")]
25pub mod typed_sqlite;
26#[cfg(feature = "turso")]
27pub mod typed_turso;
28
29pub(crate) mod adapters;
31pub mod error;
32pub(crate) mod executor;
33pub mod middleware;
34pub mod pool;
35pub mod query;
36
37pub(crate) mod query_builder;
39#[cfg(any(feature = "mssql", feature = "postgres", feature = "sqlite"))]
40pub(crate) mod query_utils;
41pub(crate) mod results;
42pub(crate) mod types;
43
44#[cfg(feature = "mssql")]
46pub mod mssql;
47#[cfg(feature = "postgres")]
48pub mod postgres;
49#[cfg(feature = "sqlite")]
50pub mod sqlite;
51#[cfg(feature = "turso")]
52pub mod turso;
53
54#[cfg(any(
56 feature = "postgres",
57 feature = "sqlite",
58 feature = "mssql",
59 feature = "turso"
60))]
61pub use middleware::MiddlewarePoolOptions;
62pub use middleware::{
63 AnyConnWrapper, BatchTarget, ConfigAndPool, ConversionMode, CustomDbRow, DatabaseType,
64 MiddlewarePool, MiddlewarePoolConnection, ParamConverter, QueryAndParams, QueryBuilder,
65 QueryTarget, ResultSet, RowValues, SqlMiddlewareDbError, StatementCacheMode, TxOutcome,
66 execute_batch,
67};
68#[cfg(feature = "mssql")]
69pub use middleware::{MssqlOptions, MssqlOptionsBuilder};
70#[cfg(feature = "postgres")]
71pub use middleware::{PgConfig, PostgresOptions, PostgresOptionsBuilder};
72#[cfg(feature = "sqlite")]
73pub use middleware::{SqliteOptions, SqliteOptionsBuilder};
74#[cfg(feature = "turso")]
75pub use middleware::{TursoOptions, TursoOptionsBuilder};
76#[cfg(feature = "sqlite")]
77pub use sqlite::SqliteParamsBuf;
78#[cfg(feature = "turso")]
79pub use turso::TursoParamsBuf;
80
81pub use conversion::convert_sql_params;
83pub use translation::{
84 PlaceholderStyle, PrepareMode, QueryOptions, TranslationMode, translate_placeholders,
85};