From ff1c1b6b8c42629513ed5c05ecdf00a637a31d28 Mon Sep 17 00:00:00 2001 From: Jussi Saurio Date: Wed, 30 Jul 2025 18:22:40 +0300 Subject: [PATCH] wal_insert_end: call pager.rollback() after tx ends so that lock index is preserved when ending tx --- core/lib.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/core/lib.rs b/core/lib.rs index 798817506..6176e9811 100644 --- a/core/lib.rs +++ b/core/lib.rs @@ -1170,12 +1170,13 @@ impl Connection { { let pager = self.pager.borrow(); + { + let wal = pager.wal.borrow_mut(); + wal.end_write_tx(); + wal.end_read_tx(); + } // remove all non-commited changes in case if WAL session left some suffix without commit frame pager.rollback(false, self)?; - - let wal = pager.wal.borrow_mut(); - wal.end_write_tx(); - wal.end_read_tx(); } // let's re-parse schema from scratch if schema cookie changed compared to the our in-memory view of schema