sqlx_core/any/
transaction.rs

1use futures_util::future::BoxFuture;
2
3use crate::any::{Any, AnyConnection};
4use crate::error::Error;
5use crate::transaction::TransactionManager;
6
7pub struct AnyTransactionManager;
8
9impl TransactionManager for AnyTransactionManager {
10    type Database = Any;
11
12    fn begin(conn: &mut AnyConnection) -> BoxFuture<'_, Result<(), Error>> {
13        conn.backend.begin()
14    }
15
16    fn commit(conn: &mut AnyConnection) -> BoxFuture<'_, Result<(), Error>> {
17        conn.backend.commit()
18    }
19
20    fn rollback(conn: &mut AnyConnection) -> BoxFuture<'_, Result<(), Error>> {
21        conn.backend.rollback()
22    }
23
24    fn start_rollback(conn: &mut AnyConnection) {
25        conn.backend.start_rollback()
26    }
27}