bit-aloo
889ae2cd78
Remove log and env_logger in favor of tracing
...
- Deleted `log` and `env_logger` from simulator dependencies
- Migrated remaining `log::error!` and `log::trace!` calls to `tracing` macros
2025-10-02 19:09:09 +05:30
pedrocarlo
b624e449bc
simulator: reopen database with mvcc when necessary
2025-10-01 11:38:11 -03:00
pedrocarlo
9f95499a55
do not count BEGIN, COMMIT, and ROLLBACK queries as interactions in the InteractionPlan, so we can generate more meaningful intereactions without hitting the max cap quickly
2025-09-27 23:52:57 -03:00
pedrocarlo
13764e6b8e
in mvcc if creating a ddl statement, first commit all connections
2025-09-27 23:52:57 -03:00
pedrocarlo
dc1b1469a3
write connection index to sql file
2025-09-27 23:52:57 -03:00
pedrocarlo
461c765b7b
fix shrinking extensional queries. Now we only keep queries and/or properties that contain a depending table
2025-09-27 23:52:57 -03:00
pedrocarlo
d3c2198a75
keep track of each pending query for the transaction and then apply the queries on commit
2025-09-27 23:52:57 -03:00
pedrocarlo
9fd73855d2
after we generated all interactions if some connection is still in a transaction, commit
2025-09-27 23:52:57 -03:00
pedrocarlo
df420ab815
consolidate SimulatorEnv rollback code
2025-09-27 23:52:57 -03:00
pedrocarlo
026fd9ae9e
add ignore_error flag to interaction so that we fail on errors when executing interactions
2025-09-27 23:52:57 -03:00
pedrocarlo
f2d29ffaaf
make transactions truly concurrent with mvcc
2025-09-27 23:52:57 -03:00
pedrocarlo
44c08c02d1
do not shadow interactions when generating the next plan, only after the interaction is ran
2025-09-23 21:57:06 -03:00
pedrocarlo
5f83f3bdfe
modify plan generation to generate interactions on demand
2025-09-23 21:57:06 -03:00
pedrocarlo
6e2b0c901e
remove PanicGenerationContext and instead just pass the connection context directly
2025-09-21 14:16:46 -03:00
pedrocarlo
021d5d272a
refactor shadowing code to take into account snapshot isolation
2025-09-20 12:01:07 -03:00
pedrocarlo
0293c32616
disable integrity check and indexes when using mvcc
2025-09-20 11:52:15 -03:00
pedrocarlo
850dbc75a2
adjust shrinking to keep previous interactions if there are no depending tables
2025-09-20 11:52:15 -03:00
pedrocarlo
c3cdb0e0fd
add begin concurrent before each statement with mvcc
2025-09-20 11:52:15 -03:00
pedrocarlo
13f36880f8
adjust generation code to use the context from the current connection index instead of the whole database
2025-09-20 11:52:15 -03:00
pedrocarlo
c072b0314b
fix shrinking
2025-09-18 12:00:18 -03:00
pedrocarlo
27a8f019c6
clippy
2025-09-17 10:49:24 -03:00
pedrocarlo
6039a30222
fix double create failure
2025-09-17 10:49:24 -03:00
pedrocarlo
81cff3e3d7
fix shrinking to use a secondary index that points to the Property that generated the interactions
2025-09-17 10:49:24 -03:00
pedrocarlo
f95ac87f06
simplify code for differential testing
2025-09-17 10:49:24 -03:00
pedrocarlo
4d9e676f65
simplify run_simualtion signature + remove watch mode file as it shares logic with default run simulation logic
2025-09-17 10:49:24 -03:00
pedrocarlo
b98c22a90e
run simulation on the total list of interactions to avoid recomputing whole vec of interactions on each loop + change state management in preparation for multiple connections change
2025-09-17 10:49:24 -03:00
pedrocarlo
faf38fe196
add connection Index to interaction struct
2025-09-17 10:49:24 -03:00
pedrocarlo
7e02fbe7e7
make assertion to be cloneable
2025-09-17 10:49:24 -03:00
pedrocarlo
77cab30c5b
add connection index to interaction
2025-09-17 10:49:24 -03:00
pedrocarlo
5f24ff6e45
fix non determinism by using IndexSet for order preserving iteration
2025-09-05 02:00:18 -03:00
pedrocarlo
8c7da3a704
impl SimIO for SimulatorIO
2025-09-01 11:11:03 -03:00
pedrocarlo
2f237fdcfd
adjust remaining calculation to use the profile
2025-08-30 11:31:52 -03:00
pedrocarlo
962666831b
read Profile file from path or use predefined profiles
2025-08-30 11:31:52 -03:00
pedrocarlo
06b923d0c1
adjust simulator to use correct trait signature
2025-08-30 11:31:52 -03:00
pedrocarlo
8010b7d0c7
make simulator use sql_generation crate as dependency
2025-08-25 22:59:31 -03:00
Jussi Saurio
97657a86b3
Do not assume error message content in FaultyQuery
2025-08-19 12:49:01 +03:00
pedrocarlo
d96a26aef9
Property TableHasExpectedContent should just check the expected
...
content on runtime, not generation time
2025-08-18 16:00:59 -03:00
pedrocarlo
59da828362
do not shadow FaultyQuery's immediately. Only shadow them later
2025-08-18 12:40:02 -03:00
Jussi Saurio
6c17fa2a5e
fix/sim: prevent sim from trying to create an existing table or index
...
We recently merged a change that panics the sim on parse errors, because
not doing so has masked many scenarios where the sim unintentionally
creates incorrect sql and we just ignore it.
We already have Property::DoubleCreateFailure to assert that the same table
cannot be created twice, so this should not hide any bugs.
2025-08-17 18:13:05 +03:00
Jussi Saurio
0a3ebf8914
Fail simulator on parse errors
2025-08-16 10:27:10 +03:00
PThorpe92
2810b5d8a2
Add --keep-files flag and force Drop of database in simulator to prevent issues with the Registry
2025-08-15 17:54:40 -04:00
Jussi Saurio
ea427b3b64
sim: provide additional context in assertion failures
2025-07-16 12:05:30 +03:00
alpaylan
6b96789b6d
add random_expr for SELECT <expr>;
2025-07-14 18:48:02 -04:00
alpaylan
0b3fb2ecdd
Merge branch 'main' of https://github.com/tursodatabase/limbo
2025-07-13 11:10:52 -04:00
Jussi Saurio
a48b6d049a
Another post-rebase clippy round with 1.88.0
2025-07-12 19:10:56 +03:00
Jussi Saurio
cb16301157
sim: return LimboError::Busy when busy, instead of looping forever
2025-07-12 10:24:49 +03:00
alpaylan
e28ad97ac7
cargo fmt and cargo clippy fixes
2025-07-11 03:35:32 -04:00
alpaylan
3a967f9127
remove rusqlite integrity check, sync generation with --experimental-indexes, move FaultyQuery to disabled by default
2025-07-11 03:35:02 -04:00
alpaylan
b98542d112
cargo fmt and cargo clippy fixes
2025-07-11 02:12:56 -04:00
alpaylan
65fe60ba57
fix the merge conflicts
2025-07-11 02:04:14 -04:00