Jussi Saurio
ebc4ddb2a2
Merge 'Simulator: fix alter table shadowing to modify index column name ' from Pedro Muniz
...
Forgot to modify the column name referenced in the indexes when
shadowing
Reviewed-by: bit-aloo (@Shourya742)
Closes #3712
2025-10-14 07:25:29 +03:00
pedrocarlo
45567e6837
fix alter table shadowing to modify index column name on rename and alter
2025-10-13 14:02:26 -03:00
pedrocarlo
bfeccf6543
integrate DropIndex in query generator
2025-10-13 13:56:36 -03:00
pedrocarlo
b2e54d9816
add Drop Index to simulator model
2025-10-13 13:32:16 -03:00
pedrocarlo
d99e3f590f
ALTER TABLE should be added to is_ddl
2025-10-13 02:34:43 -03:00
pedrocarlo
49e96afd39
generate ALTER COLUMN
2025-10-13 02:34:43 -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
230755eb2e
shadow for AlterTable
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
6d5443d4f0
add Query::Placeholder
2025-10-07 11:38:47 -03:00
pedrocarlo
4fc7be5042
as we have DROP table now, if we want to generate extensional queries eagerly, without affecting how we document interactions with MVCC, we need to travel forward in time and shadow queries eagerly so we can generate queries correctly. This involves cloning the tables unfortunately which is inneficient but correct
2025-10-07 11:38:47 -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
13764e6b8e
in mvcc if creating a ddl statement, first commit all connections
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
021d5d272a
refactor shadowing code to take into account snapshot isolation
2025-09-20 12:01:07 -03:00
pedrocarlo
c4843d6a6e
refactor SimulatorEnv to hold committed tables and separate connection tables for snapshot isolation
2025-09-20 11:52:15 -03:00
pedrocarlo
5f24ff6e45
fix non determinism by using IndexSet for order preserving iteration
2025-09-05 02:00:18 -03:00
TcMits
33a04fbaf7
resolve conflict
2025-09-02 17:30:10 +07:00
pedrocarlo
962666831b
read Profile file from path or use predefined profiles
2025-08-30 11:31:52 -03:00
TcMits
4ddfdb2a62
finish
2025-08-27 14:58:35 +07:00
pedrocarlo
8010b7d0c7
make simulator use sql_generation crate as dependency
2025-08-25 22:59:31 -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
pedrocarlo
2bc6edc3d4
introduce TableContext for the simulator to properly generate predicates for Joins
2025-08-15 23:44:00 +03:00
Jussi Saurio
1a11648974
sim: add Property::ReadYourUpdatesBack
2025-08-14 19:04:27 +03:00
meteorgan
b5a18d7dc9
fix get_column_name() when column name doesn't exist
2025-07-25 23:49:31 +08:00
bit-aloo
9a54ef214e
parser: Distinguish quoted identifiers and unify Id into Name enum
...
This commit replaces the `Name(pub String)` struct with a `Name` enum that
explicitly models how the name appeared in the source either as an
unquoted identifier (`Ident`) or a quoted string (`Quoted`).
In the process, the separate `Id` wrapper type has been coalesced into the
`Name` enum, simplifying the AST and reducing duplication in identifier
handling logic.
While this increases the size of some AST nodes (notably `yyStackEntry`),
it improves correctness and makes source structure more explicit for
later phases.
2025-07-24 14:40:19 +05:30
Jussi Saurio
d67a9f03fd
sim: add order by to some queries
2025-07-18 10:47:36 +03:00
Levy A.
89911ee8d1
remove to_sql_string from simulator
2025-07-16 12:34:10 -03:00
Levy A.
6fe2505425
add more ToTokens impls
2025-07-16 12:16:31 -03:00
alpaylan
9347e43dfc
clippy + fmt
2025-07-15 09:57:55 -04:00
alpaylan
6b96789b6d
add random_expr for SELECT <expr>;
2025-07-14 18:48:02 -04:00
alpaylan
731e6e32e8
updates to the generator distribution
2025-07-14 01:27:01 -04:00
alpaylan
d99793ca2f
generate parenthesizes expressions by default
2025-07-11 11:08:35 -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
8f46bbc77e
Merge branch 'main' of https://github.com/tursodatabase/limbo
2025-07-11 01:33:50 -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
f5d4429b04
reproduce very specific bug for https://github.com/tursodatabase/turso/issues/1991 with seed 13622105005141748081
2025-07-07 13:11:09 -04:00
pedrocarlo
d21a629cd9
rollback simulator table when we encounter a Rollback query
2025-07-07 13:37:51 -03:00
pedrocarlo
7c8737e292
do not shadow + continue the assertion on injected fault error
2025-07-07 11:53:45 -03: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
Pere Diaz Bou
897f13c173
add interactive transaction to property insert-values-select
2025-07-04 15:50:46 +02:00
pedrocarlo
ac34928d53
fix delete shadowing + build result rows from fsync query
2025-06-29 12:44:13 -03:00
Pekka Enberg
725c3e4ddc
Rename limbo_sqlite3_parser crate to turso_sqlite3_parser
2025-06-29 12:34:46 +03:00