MCPcopy Create free account
hub / github.com/SeaQL/sea-orm / execute

Method execute

src/database/transaction.rs:249–287  ·  view source on GitHub ↗
(&self, stmt: Statement)

Source from the content-addressed store, hash-verified

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)]

Callers 1

execute_unpreparedMethod · 0.45

Calls 3

conn_errFunction · 0.85
lockMethod · 0.80
sqlx_queryFunction · 0.50

Tested by

no test coverage detected