limbo/simulator/runner
Jussi Saurio 9115b74751
Merge 'fix/sim: all alter table ops must be recorded and applied in order' from Jussi Saurio
## Background
In the simulator, we do our best to replicate the effects of an
interactive transaction into the simulator's shadow state whenever that
transaction commits.
## Problem
this didn't work:
BEGIN;
ALTER TABLE t ADD COLUMN foo;
DELETE FROM t WHERE bar != 5;
COMMIT;
None of the rows where bar != 5 were deleted because apply_snapshot()
was checking that the rows in the committed table were exactly equal to
the rows that were recorded, but since the recorded deletes contained a
NULL `foo` column, they never matched. This meant that the sim thought
it should still have all the rows that were deleted.
## Fix:
like all the other operations, record add column / drop column too so
that they are applied in sequential order in apply_snapshot()
No explicit test for this - I ran into this in another branch of mine
whose seed doesn't reproduce on main (because I changed the simulator in
that branch).

Reviewed-by: Pedro Muniz (@pedrocarlo)

Closes #4264
2025-12-18 09:28:28 +02:00
..
memory fix/core: decouple autocheckpoint result from transaction durability 2025-12-16 10:42:48 -05:00
bugbase.rs - modify bugbase to not save interaction plan in a plan.json. As we 2025-11-17 11:45:02 -03:00
cli.rs Add simulator run with io_uring io backend to github action 2025-12-17 17:22:41 -05:00
clock.rs make simulator use sql_generation crate as dependency 2025-08-25 22:59:31 -03:00
differential.rs fix/sim: abandon the entire property if precondition fails 2025-12-09 16:06:14 +02:00
doublecheck.rs fix/sim: abandon the entire property if precondition fails 2025-12-09 16:06:14 +02:00
env.rs Merge 'fix/sim: all alter table ops must be recorded and applied in order' from Jussi Saurio 2025-12-18 09:28:28 +02:00
execution.rs fix/sim: abandon the entire property if precondition fails 2025-12-09 16:06:14 +02:00
file.rs Replaced manual validation in SimulatorCLI::validate with Clap features: 2025-10-02 19:18:38 +05:30
io.rs Add simulator run with io_uring io backend to github action 2025-12-17 17:22:41 -05:00
mod.rs Add simulator run with io_uring io backend to github action 2025-12-17 17:22:41 -05:00