(&self, stmt: Statement)
| 247 | #[instrument(level = "trace")] |
| 248 | #[allow(unused_variables)] |
| 249 | async fn execute(&self, stmt: Statement) -> Result<ExecResult, DbErr> { |
| 250 | debug_print!("{}", stmt); |
| 251 | |
| 252 | match &mut *self.conn.lock().await { |
| 253 | #[cfg(feature = "sqlx-mysql")] |
| 254 | InnerConnection::MySql(conn) => { |
| 255 | let query = crate::driver::sqlx_mysql::sqlx_query(&stmt); |
| 256 | let conn: &mut sqlx::MySqlConnection = &mut *conn; |
| 257 | crate::metric::metric!(self.metric_callback, &stmt, { |
| 258 | query.execute(conn).await.map(Into::into) |
| 259 | }) |
| 260 | .map_err(sqlx_error_to_exec_err) |
| 261 | } |
| 262 | #[cfg(feature = "sqlx-postgres")] |
| 263 | InnerConnection::Postgres(conn) => { |
| 264 | let query = crate::driver::sqlx_postgres::sqlx_query(&stmt); |
| 265 | let conn: &mut sqlx::PgConnection = &mut *conn; |
| 266 | crate::metric::metric!(self.metric_callback, &stmt, { |
| 267 | query.execute(conn).await.map(Into::into) |
| 268 | }) |
| 269 | .map_err(sqlx_error_to_exec_err) |
| 270 | } |
| 271 | #[cfg(feature = "sqlx-sqlite")] |
| 272 | InnerConnection::Sqlite(conn) => { |
| 273 | let query = crate::driver::sqlx_sqlite::sqlx_query(&stmt); |
| 274 | let conn: &mut sqlx::SqliteConnection = &mut *conn; |
| 275 | crate::metric::metric!(self.metric_callback, &stmt, { |
| 276 | query.execute(conn).await.map(Into::into) |
| 277 | }) |
| 278 | .map_err(sqlx_error_to_exec_err) |
| 279 | } |
| 280 | #[cfg(feature = "mock")] |
| 281 | InnerConnection::Mock(conn) => return conn.execute(stmt), |
| 282 | #[cfg(feature = "proxy")] |
| 283 | InnerConnection::Proxy(conn) => return conn.execute(stmt).await, |
| 284 | #[allow(unreachable_patterns)] |
| 285 | _ => Err(conn_err("Disconnected")), |
| 286 | } |
| 287 | } |
| 288 | |
| 289 | #[instrument(level = "trace")] |
| 290 | #[allow(unused_variables)] |
no test coverage detected