pub mod any_conn_wrapper;
pub mod connection;
pub mod interaction;
#[cfg(any(
feature = "postgres",
feature = "sqlite",
feature = "mssql",
feature = "turso"
))]
pub mod options;
pub mod types;
pub use any_conn_wrapper::AnyConnWrapper;
pub use connection::MiddlewarePoolConnection;
#[cfg(any(
feature = "postgres",
feature = "sqlite",
feature = "mssql",
feature = "turso"
))]
pub use options::MiddlewarePoolOptions;
pub use types::MiddlewarePool;
use crate::SqlMiddlewareDbError;
use crate::types::{DatabaseType, StatementCacheMode};
#[derive(Clone, Debug)]
pub struct ConfigAndPool {
pub pool: MiddlewarePool,
pub db_type: DatabaseType,
pub translate_placeholders: bool,
pub statement_cache_mode: StatementCacheMode,
}
impl ConfigAndPool {
pub async fn get_connection(&self) -> Result<MiddlewarePoolConnection, SqlMiddlewareDbError> {
let pool_ref = self.pool.get().await?;
MiddlewarePool::get_connection(
pool_ref,
self.translate_placeholders,
self.statement_cache_mode,
)
.await
}
}