sqlx_core_oldapi/sqlite/
transaction.rs1use futures_core::future::BoxFuture;
2
3use crate::error::Error;
4use crate::sqlite::{Sqlite, SqliteConnection};
5use crate::transaction::TransactionManager;
6
7pub struct SqliteTransactionManager;
9
10impl TransactionManager for SqliteTransactionManager {
11 type Database = Sqlite;
12
13 fn begin(conn: &mut SqliteConnection) -> BoxFuture<'_, Result<(), Error>> {
14 Box::pin(conn.worker.begin())
15 }
16
17 fn commit(conn: &mut SqliteConnection) -> BoxFuture<'_, Result<(), Error>> {
18 Box::pin(conn.worker.commit())
19 }
20
21 fn rollback(conn: &mut SqliteConnection) -> BoxFuture<'_, Result<(), Error>> {
22 Box::pin(conn.worker.rollback())
23 }
24
25 fn start_rollback(conn: &mut SqliteConnection) {
26 conn.worker.start_rollback().ok();
27 }
28}