Commit Graph

65 Commits

Author SHA1 Message Date
Pekka Enberg
44ed4d562f core: Initial pass on synchronous pragma
This adds support for "OFF" and "FULL" (default) synchronous modes. As
future work, we need to add NORMAL and EXTRA as well because
applications expect them.
2025-08-28 16:02:41 +03:00
pedrocarlo
aa025c9798 fix missing functions after revert 2025-08-26 10:13:45 -03:00
Pekka Enberg
26ba09c45f Revert "Merge 'Remove double indirection in the Parser' from Pedro Muniz"
This reverts commit 71c1b357e4, reversing
changes made to 6bc568ff69 because it
actually makes things slower.
2025-08-26 14:58:21 +03:00
Pekka Enberg
5dd1bca4d3 Merge 'Decouple SQL generation from Simulator crate' from Pedro Muniz
Decouple Sql generation code from simulator code, so that it can
potentially be reused for fuzzing on other crates and to create a
`GenerationContext` trait so that it becomes easier to create
`Simulation Profiles`. Ideally in further PRs, I want to expand the
`GenerationContext` trait so we can guide the generation with context
from the simulation profile.
Depends on #2789 .

Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com>

Closes #2793
2025-08-26 09:41:58 +03:00
Pekka Enberg
8f11311473 Merge 'Improve encryption API' from Avinash Sajjanshetty
This patch brings a bunch of quality of life improvements to encryption:
1. Previously, we just let any string to be used as a key. I have
updated the `PRAGMA hexkey=''` to get the key in hex. I have also
renamed from `key`, because that will be used to get passphrase
2. Added `PRAGMA cipher` so that now users can select which cipher they
want to use (for now, either `aegis256` or `aes256gcm`)
3. We now set the encryption context when both cipher and key are set
I also updated tests to reflect this.

Reviewed-by: Preston Thorpe <preston@turso.tech>

Closes #2779
2025-08-26 08:32:29 +03:00
pedrocarlo
0c1228b484 add Generation context trait to decouple Simulator specific code 2025-08-25 22:59:31 -03:00
pedrocarlo
642060f283 refactor sql_generation/model/query 2025-08-25 22:59:31 -03:00
pedrocarlo
5108c72a28 remove box from Vec<Box<Expr>> 2025-08-25 19:47:46 -03:00
Pekka Enberg
8eab179a53 parser/ast: Add Register AST node 2025-08-25 17:48:17 +03:00
Avinash Sajjanshetty
328c5edf4d Add PRAGMA cipher to allow setting cipher algo 2025-08-25 02:17:53 +05:30
Avinash Sajjanshetty
543025f57a rename encryption PRAGMA key to hexkey 2025-08-25 01:32:41 +05:30
TcMits
fd63688ede reduce cloning Token in parser 2025-08-23 15:07:32 +07:00
Pekka Enberg
52ef4c2dfe Merge 'correctly implement offset() in parser' from Lâm Hoàng Phúc
Closes #2731
2025-08-22 15:40:18 +03:00
TcMits
81603f6706 correctly implement offset() in parser 2025-08-22 17:47:39 +07:00
TcMits
4b07555e87 remove dup test 2025-08-22 17:02:10 +07:00
TcMits
f49c47f248 remove dup check 2025-08-22 16:47:41 +07:00
TcMits
df8ab9c104 clippy again 2025-08-22 16:39:59 +07:00
TcMits
a1bc3bf988 clippy 2025-08-22 16:36:10 +07:00
TcMits
14eb8a8ffe move check code into parser 2025-08-22 16:28:56 +07:00
Levy A.
34724a0571 fix: proper parser offset tracking 2025-08-22 02:11:53 -03:00
Levy A.
8a610a776f refactor: Result type alias 2025-08-21 15:24:01 -03:00
Levy A.
07975603d3 fix: incorrect sql statement in parser test 2025-08-21 15:24:01 -03:00
Levy A.
d9c7cbf7f2 fix: report TK_ILLEGAL as error 2025-08-21 15:24:01 -03:00
Levy A.
0138aade31 tidy error reporting 2025-08-21 15:24:01 -03:00
Levy A.
8f198a3086 fix create view columns length check 2025-08-21 15:24:01 -03:00
Levy A.
a86a066a91 fix order by function clause 2025-08-21 15:24:01 -03:00
Levy A.
c6b032de63 feat: add AST formating and checking 2025-08-21 15:19:17 -03:00
Levy A.
f8daf2ff95 fix: copy TokenType's as_str from the old parser 2025-08-21 15:19:17 -03:00
Levy A.
b0537d02c7 fix: SQLite operators are left associative 2025-08-21 15:19:16 -03:00
Levy A.
40fce89238 fix: empty variables are allowed 2025-08-21 15:19:16 -03:00
Levy A.
8f10f2f240 fix number parser
the added test case was failing
2025-08-21 15:19:16 -03:00
Levy A.
dd39f47cda feat: add materialized view + implement essential methods for core 2025-08-21 15:19:16 -03:00
Levy A.
186e2f5d8e switch to new parser 2025-08-21 15:19:16 -03:00
TcMits
e90e154f51 fmt 2025-08-15 17:09:30 +07:00
TcMits
4d91f19ab2 rebase 2025-08-15 17:05:28 +07:00
TcMits
fb5203ce45 make eat_assert faster 2025-08-15 16:45:20 +07:00
TcMits
22f53d1fe6 clippy again 2025-08-15 16:45:18 +07:00
TcMits
1cafdc1f8e fmt 2025-08-15 16:45:18 +07:00
TcMits
f0bd4cca69 clippy 2025-08-15 16:45:18 +07:00
TcMits
bbd96d263c finish REINDEX 2025-08-15 16:45:08 +07:00
TcMits
49a0a3417a finish UPDATE 2025-08-13 15:11:32 +07:00
TcMits
b8ad44bf07 finish INSERT 2025-08-13 14:45:34 +07:00
TcMits
161c87212e finish all DROP 2025-08-13 14:07:28 +07:00
TcMits
179cce2ceb finish DELETE 2025-08-13 13:56:58 +07:00
TcMits
c444b80d2e finish CREATE VIRTUAL TABLE 2025-08-12 19:14:10 +07:00
TcMits
ba87698448 finish CREATE VIEW 2025-08-12 17:46:43 +07:00
TcMits
3622370d27 finish CREATE TRIGGER 2025-08-12 17:25:29 +07:00
TcMits
1b925e4f92 finish CREATE TRIGGER without tests 2025-08-12 14:22:42 +07:00
TcMits
4849db3335 finish CREATE TABLE 2025-08-11 16:17:26 +07:00
TcMits
df514ec75a finish CREATE INDEX 2025-08-11 13:27:32 +07:00