pedrocarlo
bfeccf6543
integrate DropIndex in query generator
2025-10-13 13:56:36 -03:00
pedrocarlo
9c2edbb8b7
create separate Index struct for sql generation
2025-10-13 02:04:15 -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
3b2583c540
adjust Interaction generation to take into account possibilty of PropertyDistribution to have 0 Weights
2025-10-07 14:17:37 -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
7f93f64fc5
enable Drop statements
2025-10-07 11:38:47 -03:00
pedrocarlo
b1c26505b8
adjust Rng generic to include ?Sized + introduce WeightedDistribution trait
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
pedrocarlo
1d1b09dc17
modify query generation to always sample from valid queries
2025-10-07 02:36:13 -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
0a3ebf8914
Fail simulator on parse errors
2025-08-16 10:27:10 +03:00
pedrocarlo
2bc6edc3d4
introduce TableContext for the simulator to properly generate predicates for Joins
2025-08-15 23:44:00 +03:00
Jussi Saurio
3760d44c13
sim: force compound selects to have the same number of result columns
2025-08-15 23:43:38 +03:00
Jussi Saurio
4c76191fec
fix/sim: fix incorrect implementation of compound select generation
...
Problem:
sim was generating compound selects like this:
- pick a random `table`
- create a random single SELECT
- create `n` random compound SELECTs (UNION ALL etc)
assign a WHERE clause that always has a condition based on `table`
This can result in e.g.
```
SELECT a FROM foo WHERE bar.x = 'baz'
```
Solution:
Don't base the WHERE clause on a table that might not be referenced
in the query.
Again, the only reason this wasn't caught before was because `FaultyQuery`
and `FsyncNoWait` are the only paths where this is actually tested with an
assertion, and those are both disabled
2025-08-15 10:48:42 +03:00
Jussi Saurio
165f2aed23
make big joins even less likely
2025-08-14 19:35:16 +03:00
Jussi Saurio
f5438d14de
make big compound selects even less likely
2025-08-14 19:35:16 +03:00
Jussi Saurio
aed48bb665
sim: reduce frequency of compound selects and complex joins
2025-08-14 19:35:16 +03:00
Jussi Saurio
0b9d07db4c
sim: restrict Update::arbitrary_from() to SET each column max once
2025-08-14 18:55:34 +03:00
Jussi Saurio
d67a9f03fd
sim: add order by to some queries
2025-07-18 10:47:36 +03:00
Pekka Enberg
e8ac707190
simulator: Disable INSERT INTO .. SELECT for being slow
...
Refs #2129
2025-07-17 09:20:00 +03:00
alpaylan
6b96789b6d
add random_expr for SELECT <expr>;
2025-07-14 18:48:02 -04:00
alpaylan
8917438f54
fix DISTINCT generation without --experimental-indexes
2025-07-11 03:44:03 -04: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
alpaylan
489602b095
updates to the oracle implementations for differential and doublecheck, add integrity check to the end of the simulation, run cargo clippy --fix
2025-07-11 01:22:40 -04:00
alpaylan
44a2fa60a3
add union all cardinality preservation, start generating INSERT INTO t SELECT... queries, add integrity checks to the end of run_simulation
2025-07-09 00:14:13 -04:00
alpaylan
75b86d1ae2
make the generation cheaper
2025-07-07 13:19:21 -04:00
alpaylan
f5d4429b04
reproduce very specific bug for https://github.com/tursodatabase/turso/issues/1991 with seed 13622105005141748081
2025-07-07 13:11:09 -04:00
alpaylan
ea9c67a950
generate joins and unions
2025-07-07 02:54:48 -04:00
alpaylan
0bce68b38d
wip: add joins to the select
2025-07-06 14:46:38 -04:00
Nils Koch
2827b86917
chore: fix clippy warnings
2025-06-23 19:52:13 +01:00
pedrocarlo
6b58c4a33f
migrate to using limbo_core::Value inside Simulator
2025-06-11 11:32:18 -03:00
pedrocarlo
176ec3b0ea
adjustments to binary functions + backtrack return Option<T> + start of unary Predicate
2025-06-11 11:32:18 -03:00
pedrocarlo
9f2608bded
remove previous predicate struct and rewrite generation with the new the struct
2025-06-11 11:32:17 -03:00
pedrocarlo
1c424818aa
simulator options to disable certain query types
2025-06-03 22:21:40 -03:00
Pere Diaz Bou
8ec7e616b4
simulator: switch to tracing, run io.run_once and add update queries
...
* Without tracing crate we cannot log anything that happens in
limbo_core
* IO never ran in step loop inside simulator.
* Added update queries (which currently loop forever for some reason I'm
debugging).
2025-05-30 10:57:13 +02:00
alpaylan
747b6d15e3
add NoREC optimizer testing property
2025-02-10 15:42:49 -05:00
alpaylan
47420db16f
- implement DROP TABLE support, toggled off from generation for now
...
- clean up the query generation/printing by separating it into different files and removing duplications
2025-02-09 09:28:33 -05:00
alpaylan
9c339cb8e1
wip: add delete support to the simulator
2025-02-07 08:19:00 -05:00
alpaylan
8490184644
add LIKE generation for supporting clauses
2025-02-01 12:34:31 -05:00
alpaylan
48d091e112
add insert into <table> <select> generation
2025-02-01 10:40:07 -05:00
alpaylan
f5139f086e
add select-limit property
2025-01-27 01:24:20 +03:00
alpaylan
43f6c34408
fix arbitrary_from ergonomics by removing the implicit reference in the trait signature
2025-01-13 14:43:12 +03:00