pager: call rollback() after ending txn so that read lock info is not lost when ending txn

This commit is contained in:
Jussi Saurio
2025-07-30 17:21:19 +03:00
parent 7b1f04dc5e
commit 66c4b44c55

View File

@@ -818,11 +818,11 @@ impl Pager {
) -> Result<IOResult<PagerCommitResult>> {
tracing::trace!("end_tx(rollback={})", rollback);
if rollback {
self.rollback(schema_did_change, connection)?;
if matches!(connection.transaction_state.get(), TransactionState::Write { .. }) {
self.wal.borrow().end_write_tx();
}
self.wal.borrow().end_read_tx();
self.rollback(schema_did_change, connection)?;
return Ok(IOResult::Done(PagerCommitResult::Rollback));
}
let commit_status = self.commit_dirty_pages(wal_checkpoint_disabled)?;