Pekka Enberg
8e5e752722
Merge 'Support cipher and encryption key URI options' from William Souza
...
Closes #2851
Reviewed-by: Avinash Sajjanshetty (@avinassh)
Closes #2857
2025-09-01 08:25:29 +03:00
TcMits
ed1fb4cabc
remove unnecessary check
2025-09-01 11:51:51 +07:00
Piotr Rzysko
6f1cd17fcf
Consolidate methods emitting AggStep
2025-08-31 13:29:10 +02:00
Piotr Rzysko
cdba1f1b87
Generalize GroupByAggArgumentSource
...
This is primarily a mechanical change: the enum was moved between files,
renamed, and its comments updated so it is no longer strictly tied to
GROUP BY aggregations.
This prepares the enum for reuse with ungrouped aggregations.
2025-08-31 13:23:12 +02:00
Piotr Rzysko
0a85883ee2
Support external aggregate functions in GROUP BY
2025-08-31 12:02:11 +02:00
Piotr Rzysko
7d179bd9fe
Fix handling of multiple arguments in aggregate functions
...
This bug occurred when arguments were read for the GROUP BY sorter — all
arguments were incorrectly resolved to the first column. Added tests
confirm that aggregates now work correctly both with and without the
sorter.
2025-08-31 12:02:11 +02:00
Piotr Rzysko
3ad4016080
Fix handling of zero-argument grouped aggregations
...
This commit consolidates the creation of the Aggregate struct, which was
previously handled differently in `prepare_one_select_plan` and
`resolve_aggregates`. That discrepancy caused inconsistent handling of
zero-argument aggregates.
The queries added in the new tests would previously trigger a panic.
2025-08-31 12:02:09 +02:00
TcMits
37f33dc45f
add eq/contains/starts_with/ends_with_ignore_ascii_case
2025-08-31 16:18:42 +07:00
TcMits
73c6070e96
Merge branch 'main' into perf-3
2025-08-31 14:35:58 +07:00
TcMits
190e9bcc95
add match_ignore_ascii_case macro
2025-08-31 14:35:03 +07:00
김선우
424275b60b
Apply lint
2025-08-31 16:15:37 +09:00
Piotr Rzysko
978a78b79a
Handle COLLATE clause in grouped aggregations
...
Previously, it was only applied to ungrouped aggregations.
2025-08-31 06:51:26 +02:00
Glauber Costa
8fd6cadaa5
fix column count in ImmutableRow
...
When we create an ImmutableRow::from_value(), we are always adding a
null padding at the end. We didn't notice this before, because a SQLite
file with an extra column is as valid as any. But that column of course
should not be there.
I traced this to column_count(), which is off by one. My understanding
is that we should be returning based on serial_types, not offset.
2025-08-30 20:08:39 -05:00
luizgfc
528cab55c1
core/printf: %o substitution type implementation
2025-08-30 21:55:22 -03:00
luizgfc
38d528537a
core/printf: %x and %X substitution types implementation
2025-08-30 21:53:48 -03:00
luizgfc
3f7a7d0e39
core/printf: %c substitution type implementation
2025-08-30 21:49:59 -03:00
luizgfc
078b0aca79
core/printf: %e and %E substitution types implementation
2025-08-30 21:41:59 -03:00
luizgfc
82a5a16478
core/printf: %u substitution type implementation
2025-08-30 21:41:59 -03:00
rajajisai
975a83c719
Include test
2025-08-30 16:13:44 -04:00
rajajisai
3409de3c47
Include page size when initializing encryption module
...
Move default page size to test
Store page_size as usize
clippy
fix import and move const inside test module
2025-08-30 16:13:44 -04:00
William Souza
0a6c3872a7
add test for encryption URI options
2025-08-30 15:56:43 -03:00
pedrocarlo
2cc0bb12d7
add Simulator profiles to CI
2025-08-30 13:09:27 -03:00
pedrocarlo
4f2bc96dbe
add Faultless profile
2025-08-30 13:07:19 -03:00
Pekka Enberg
3c9dbfb09e
Turso 0.1.5-pre.1
2025-08-30 18:28:38 +03:00
pedrocarlo
5881ee71d6
clippy
2025-08-30 12:21:37 -03:00
pedrocarlo
961c0cd282
script to save JsonSchema for editor integration
2025-08-30 12:17:50 -03:00
pedrocarlo
9aac45c3de
small docs for profile
2025-08-30 11:31:52 -03:00
pedrocarlo
b9cc556a55
adjust write heavy profile to insert more rows
2025-08-30 11:31:52 -03:00
pedrocarlo
61fa7546c1
fold some SimulatorOpts fields to Profile
2025-08-30 11:31:52 -03:00
pedrocarlo
463eb1fefd
simplify profile weights for writes
2025-08-30 11:31:52 -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
a1407869d4
add serde, schemars and garde to profiles and options
2025-08-30 11:31:52 -03:00
pedrocarlo
faa943fc76
reduce cloning for pick_unique
2025-08-30 11:31:52 -03:00
pedrocarlo
bc6976fd33
add Select and Insert generation options
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
9bc8bdb279
all Arbitrary traits need to pass a GenerationContext
2025-08-30 11:31:52 -03:00
pedrocarlo
1a8b78afd8
create ArbitraryContext and ArbitraryContextFrom traits to pass generation context + start implementing them in Table + FromClause
2025-08-30 11:31:52 -03:00
pedrocarlo
e0552629e3
create Generation Options structs
2025-08-30 11:31:52 -03:00
pedrocarlo
ef16bc4cfb
add profiles together
2025-08-30 11:31:52 -03:00
pedrocarlo
918c2a3f69
extend latency profile + impl Default manually
2025-08-30 11:31:52 -03:00
pedrocarlo
19d9003cd7
create profiles folder
2025-08-30 11:31:52 -03:00
William Souza
b1114734d3
support cipher and encryption key URI options
2025-08-30 10:29:41 -03:00
Levy A.
293865c2d6
feat+fix: add tests and restrict altering some constraints
2025-08-30 03:43:31 -03:00
Levy A.
ad639b2b23
fix: reintroduce rename
...
we don't store the parsed column to replace just the name, this will be
refactored later with a more general approach
2025-08-30 03:10:39 -03:00
Levy A.
5b378e3730
feat: add AlterColumn instruction
...
also refactor `RenameColumn` to reuse the logic from `AlterColumn`
2025-08-30 03:10:39 -03:00
Levy A.
678ca8d33b
feat(parser): add ALTER COLUMN
2025-08-30 03:10:39 -03:00
Pekka Enberg
e1b5f2d948
Merge 'Implement UPSERT' from Preston Thorpe
...
This PR closes #2019
Implements https://sqlite.org/lang_upsert.html
Closes #2853
2025-08-30 08:54:35 +03:00
Pekka Enberg
13057c8013
testing: Improve insert.test for STRICT mode type case insensitivity
2025-08-30 08:52:05 +03:00
Pekka Enberg
b22f184a19
Merge 'Fix column case sensitivity on strict table' from
...
closes : #2822
```
turso> insert into strict_table values (1);
turso>
```
Closes #2823
2025-08-30 08:45:28 +03:00