limbo/simulator/runner
Jussi Saurio 4a57710640
fix/core: decouple autocheckpoint result from transaction durability
After flushing the WAL, the db may attempt an automatic checkpoint. Previously,
a checkpoint failure for any other reason than `Busy` rolled back the transaction;
this is incorrect because the WAL has already been written and synced, so the transaction
is actually committed and durable.

For this reason, do the following decoupling:

- Mark the transaction as committed after `SyncWal`
- Any errors beyond that point are wrapped as `LimboError::CheckpointFailed` which is
  handled specially:
    * Tx rollback is not attempted in `abort()` - only the WAL locks are cleaned up
      and checkpoint state machines are reset
    * In the simulator, the results of the query are shadowed into the sim environment
      so that the sim correctly assumes that the transaction's effects were in fact
      committed.
2025-12-16 10:42:48 -05: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 chore: remove experimental_indexes feature flags 2025-12-08 13:00:37 +02: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 fix/sim: modify existing rows in ALTER COLUMN properly 2025-12-15 15:20:26 +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 sim: don't print stats table for ephemeral files 2025-12-16 10:41:48 -05:00
mod.rs persist files in sim memory io for integrity check 2025-10-11 15:03:22 -03:00