pub struct ConfigAndPool {
pub pool: MiddlewarePool,
pub db_type: DatabaseType,
pub translate_placeholders: bool,
}Expand description
Configuration plus connection pool for a database backend.
Construct with the backend-specific new_* helpers on ConfigAndPool (e.g., new_sqlite,
new_postgres), then borrow connections as needed:
use sql_middleware::prelude::*;
let cap = ConfigAndPool::new_sqlite("file::memory:?cache=shared".into()).await?;
let mut conn = cap.get_connection().await?;
let rows = conn.query("SELECT 1").select().await?;
assert_eq!(rows.results.len(), 1);Fields§
§pool: MiddlewarePoolThe connection pool
db_type: DatabaseTypeThe database type
translate_placeholders: boolWhether placeholder translation is enabled by default for this pool
Implementations§
Source§impl ConfigAndPool
impl ConfigAndPool
Sourcepub async fn get_connection(
&self,
) -> Result<MiddlewarePoolConnection, SqlMiddlewareDbError>
pub async fn get_connection( &self, ) -> Result<MiddlewarePoolConnection, SqlMiddlewareDbError>
Get a pooled connection and attach pool-level defaults to it.
§Errors
Bubbles up pool checkout errors for the active backend.
§Examples
use sql_middleware::prelude::*;
let cap = ConfigAndPool::new_sqlite("file::memory:?cache=shared".into()).await?;
let mut conn = cap.get_connection().await?;
conn.execute_batch("CREATE TABLE t (id INTEGER)").await?;Source§impl ConfigAndPool
impl ConfigAndPool
pub fn postgres_builder(pg_config: PgConfig) -> PostgresOptionsBuilder
Sourcepub async fn new_postgres(
opts: PostgresOptions,
) -> Result<Self, SqlMiddlewareDbError>
pub async fn new_postgres( opts: PostgresOptions, ) -> Result<Self, SqlMiddlewareDbError>
Asynchronous initializer for ConfigAndPool with Postgres.
§Errors
Returns SqlMiddlewareDbError::ConfigError if required config fields are missing or SqlMiddlewareDbError::ConnectionError if pool creation fails.
Source§impl ConfigAndPool
impl ConfigAndPool
pub fn sqlite_builder(db_path: String) -> SqliteOptionsBuilder
Sourcepub async fn new_sqlite(
opts: SqliteOptions,
) -> Result<Self, SqlMiddlewareDbError>
pub async fn new_sqlite( opts: SqliteOptions, ) -> Result<Self, SqlMiddlewareDbError>
Asynchronous initializer for ConfigAndPool with Sqlite using a bb8-backed pool.
§Errors
Returns SqlMiddlewareDbError::ConnectionError if pool creation or connection test fails.
Trait Implementations§
Source§impl Clone for ConfigAndPool
impl Clone for ConfigAndPool
Source§fn clone(&self) -> ConfigAndPool
fn clone(&self) -> ConfigAndPool
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more