use crate::adapters::params::convert_params;
use crate::middleware::{
ConversionMode, ResultSet, RowValues, SqlMiddlewareDbError, StatementCacheMode,
};
use super::connection::SqliteConnection;
use super::params::Params;
use super::query::build_result_set;
pub async fn execute_batch(
sqlite_client: &mut SqliteConnection,
query: &str,
) -> Result<(), SqlMiddlewareDbError> {
sqlite_client.execute_batch(query).await
}
pub async fn execute_select(
sqlite_client: &mut SqliteConnection,
query: &str,
params: &[RowValues],
statement_cache_mode: StatementCacheMode,
) -> Result<ResultSet, SqlMiddlewareDbError> {
let params_owned = convert_params::<Params>(params, ConversionMode::Query)?.0;
sqlite_client
.execute_select(query, ¶ms_owned, build_result_set, statement_cache_mode)
.await
}
pub async fn execute_dml(
sqlite_client: &mut SqliteConnection,
query: &str,
params: &[RowValues],
statement_cache_mode: StatementCacheMode,
) -> Result<usize, SqlMiddlewareDbError> {
let params_owned = convert_params::<Params>(params, ConversionMode::Execute)?.0;
sqlite_client
.execute_dml(query, ¶ms_owned, statement_cache_mode)
.await
}