From 05034e1f9d1fb60afb1a7e9d11c09bc005a92889 Mon Sep 17 00:00:00 2001 From: pedrocarlo Date: Mon, 22 Sep 2025 12:29:00 -0300 Subject: [PATCH] instead of incrementing interaction counter, just substitue the current state --- simulator/runner/differential.rs | 7 ++++--- simulator/runner/doublecheck.rs | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/simulator/runner/differential.rs b/simulator/runner/differential.rs index c2be34b38..a64585085 100644 --- a/simulator/runner/differential.rs +++ b/simulator/runner/differential.rs @@ -83,6 +83,7 @@ pub(crate) fn execute_interactions( last_execution.interaction_index = state.interaction_pointer; let mut turso_state = state.clone(); + let mut rusqlite_state = state.clone(); // first execute turso let turso_res = super::execution::execute_plan( @@ -92,8 +93,6 @@ pub(crate) fn execute_interactions( &mut turso_state, ); - let mut rusqlite_state = state.clone(); - // second execute rusqlite let rusqlite_res = super::execution::execute_plan( &mut rusqlite_env, @@ -112,7 +111,9 @@ pub(crate) fn execute_interactions( return ExecutionResult::new(history, Some(err)); } - state.interaction_pointer += 1; + assert_eq!(turso_state, rusqlite_state); + + *state = turso_state; // Check if the maximum time for the simulation has been reached if now.elapsed().as_secs() >= env.opts.max_time_simulation as u64 { diff --git a/simulator/runner/doublecheck.rs b/simulator/runner/doublecheck.rs index d90408686..1b4bb8a5e 100644 --- a/simulator/runner/doublecheck.rs +++ b/simulator/runner/doublecheck.rs @@ -142,7 +142,9 @@ pub(crate) fn execute_plans( return ExecutionResult::new(history, Some(err)); } - state.interaction_pointer += 1; + assert_eq!(turso_state, doublecheck_state); + + *state = turso_state; // Check if the maximum time for the simulation has been reached if now.elapsed().as_secs() >= env.opts.max_time_simulation as u64 {