From 4d8fc7766591ec203452eda5b6bb1b51f7059a06 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Sat, 19 Sep 2026 22:04:14 +0100 Subject: [PATCH] Nicer write transaction --- sync-server/src/app_state/database.rs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/sync-server/src/app_state/database.rs b/sync-server/src/app_state/database.rs index c0199821..9aa99db5 100644 --- a/sync-server/src/app_state/database.rs +++ b/sync-server/src/app_state/database.rs @@ -178,14 +178,11 @@ impl Database { } pub async fn create_write_transaction(&self, vault: &VaultId) -> Result> { - let mut transaction = self.create_readonly_transaction(vault).await?; - - // sqlx doesn't support immediate transactions for sqlite: https://github.com/launchbadge/sqlx/issues/481 - sqlx::query("END; BEGIN IMMEDIATE;") - .execute(&mut *transaction) - .await?; - - Ok(transaction) + self.get_connection_pool(vault) + .await? + .begin_with("BEGIN IMMEDIATE") + .await + .context("Cannot create write transaction") } /// Cleanup idle connection pools that haven't been accessed in more than 5 minutes