use crate::error::SqlMiddlewareDbError;
use crate::pool::MiddlewarePoolConnection;
use crate::query_builder::QueryBuilder;
#[cfg(feature = "mssql")]
use crate::mssql;
#[cfg(feature = "postgres")]
use crate::postgres;
#[cfg(feature = "sqlite")]
use crate::sqlite;
#[cfg(feature = "turso")]
use crate::turso;
impl MiddlewarePoolConnection {
pub async fn execute_batch(&mut self, query: &str) -> Result<(), SqlMiddlewareDbError> {
match self {
#[cfg(feature = "postgres")]
MiddlewarePoolConnection::Postgres {
client: pg_client, ..
} => postgres::execute_batch(pg_client, query).await,
#[cfg(feature = "sqlite")]
MiddlewarePoolConnection::Sqlite { .. } => {
let sqlite_client = self.sqlite_conn_mut()?;
sqlite::execute_batch(sqlite_client, query).await
}
#[cfg(feature = "mssql")]
MiddlewarePoolConnection::Mssql {
conn: mssql_client, ..
} => mssql::execute_batch(mssql_client, query).await,
#[cfg(feature = "turso")]
MiddlewarePoolConnection::Turso {
conn: turso_conn, ..
} => turso::execute_batch(turso_conn, query).await,
#[allow(unreachable_patterns)]
_ => Err(SqlMiddlewareDbError::Unimplemented(
"This database type is not enabled in the current build".to_string(),
)),
}
}
pub fn query<'a>(&'a mut self, query: &'a str) -> QueryBuilder<'a, 'a> {
QueryBuilder::new(self, query)
}
}