From b20549ce3369b45de574611ac5d863da98225d58 Mon Sep 17 00:00:00 2001 From: mdecimus Date: Mon, 10 Mar 2025 20:01:47 +0100 Subject: [PATCH] Fix MySQL error 'Transactions couldn't be nested' (closes #1271) --- crates/store/src/backend/mysql/write.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/crates/store/src/backend/mysql/write.rs b/crates/store/src/backend/mysql/write.rs index 1c3c2d37..8d78ddbe 100644 --- a/crates/store/src/backend/mysql/write.rs +++ b/crates/store/src/backend/mysql/write.rs @@ -318,7 +318,13 @@ impl MysqlStore { } } - trx.commit().await.map(|_| result).map_err(Into::into) + match trx.commit().await { + Ok(_) => Ok(result), + Err(err) => { + let _ = conn.query_drop("ROLLBACK;").await; + Err(err.into()) + } + } } pub(crate) async fn purge_store(&self) -> trc::Result<()> {