pedrocarlo
|
bfeccf6543
|
integrate DropIndex in query generator
|
2025-10-13 13:56:36 -03:00 |
|
pedrocarlo
|
b6c5fee300
|
do not count certain interactions in the InteractionPlan and correctly report the length when shrinking
|
2025-10-13 02:34:43 -03:00 |
|
pedrocarlo
|
c072058e4b
|
add Alter Table query generation in Sim
|
2025-10-13 02:04:15 -03:00 |
|
pedrocarlo
|
f593080c2a
|
add Query::AlterTable variant
|
2025-10-10 11:08:04 -03:00 |
|
pedrocarlo
|
b6f94b2fa1
|
remove dead code in sim
|
2025-10-09 17:25:04 -03:00 |
|
pedrocarlo
|
f54b1132ca
|
ignore Property::AllTableHaveExpectedContent when counting stats, so we can generate more interesting interactions
|
2025-10-09 01:20:03 -03:00 |
|
pedrocarlo
|
3b2583c540
|
adjust Interaction generation to take into account possibilty of PropertyDistribution to have 0 Weights
|
2025-10-07 14:17:37 -03:00 |
|
pedrocarlo
|
21fc8bae2a
|
Property::FaultyQuery and FsyncNoWait stored a list of tables to check the on the database. Again, the FaultyQuery could be a Drop Table which meant that we could be running a SELECT on an inexistent table. To solve this, just insert a Property that check all the tables in the db after a Faulty Property
|
2025-10-07 13:23:35 -03:00 |
|
pedrocarlo
|
6bad5d04ce
|
generate extensional queries when iterating over the next interaction, not when generating the property. This is necessary as the extensional queries can modify schema and thus could cause the next queries to fail because the DB enviroment context was not updated on generation time. Rule of thumb: queries should never be generated in bulk, always one a a time so the enviroment can be shadowed accordingly
|
2025-10-07 13:19:53 -03:00 |
|
pedrocarlo
|
6d5443d4f0
|
add Query::Placeholder
|
2025-10-07 11:38:47 -03:00 |
|
pedrocarlo
|
7eb504baef
|
certain properties cannot be generated if there are no tables in the current context
|
2025-10-07 11:38:47 -03:00 |
|
pedrocarlo
|
91da12390d
|
refactor property generation to use query distribution and avoid more
memory allocations
|
2025-10-07 02:36:14 -03:00 |
|
pedrocarlo
|
b1c26505b8
|
adjust Rng generic to include ?Sized + introduce WeightedDistribution trait
|
2025-10-07 02:36:13 -03:00 |
|
pedrocarlo
|
a5845285be
|
remove unnecessary functions
|
2025-10-07 02:36:13 -03:00 |
|
pedrocarlo
|
bb9c8dea4f
|
rework interaction generation to only generate possible queries + do less allocations
|
2025-10-07 02:36:13 -03:00 |
|
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 |
|