diff --git a/core/vdbe/mod.rs b/core/vdbe/mod.rs index b4fc94d46..d5c30f9f0 100644 --- a/core/vdbe/mod.rs +++ b/core/vdbe/mod.rs @@ -3227,19 +3227,20 @@ impl Program { let checkpoint_status = pager.end_tx()?; match checkpoint_status { CheckpointStatus::Done(_) => { + if self.change_cnt_on { + if let Some(conn) = self.connection.upgrade() { + conn.set_changes(self.n_change.get()); + } + } connection.transaction_state.replace(TransactionState::None); let _ = halt_state.take(); } CheckpointStatus::IO => { + tracing::trace!("Checkpointing IO"); *halt_state = Some(HaltState::Checkpointing); return Ok(StepResult::IO); } } - if self.change_cnt_on { - if let Some(conn) = self.connection.upgrade() { - conn.set_changes(self.n_change.get()); - } - } Ok(StepResult::Done) } }