PThorpe92
dde8a49f4e
normalize identifier for creating autoindex to prevent e.g. sqlite_autoindextable_2
2025-09-17 13:25:33 -04:00
PThorpe92
4e71524e42
normalize identifier for ID::Name in upsert expr rewriting
2025-09-17 13:24:06 -04:00
Avinash Sajjanshetty
94e7f6defc
Update whopper run and explore scripts
2025-09-17 21:58:54 +05:30
Avinash Sajjanshetty
10137ffaa4
run whopper with encryption if arg is passed
2025-09-17 21:58:27 +05:30
Avinash Sajjanshetty
f9a6cde79a
Make encryption::CipherMode public
2025-09-17 21:55:23 +05:30
Preston Thorpe
8c53d7f024
Merge 'translation: rewrite expressions and properly handle quoted identifiers in UPSERT' from Preston Thorpe
...
This PR fixes bugs found in the [turso-
go](https://github.com/tursodatabase/turso-go ) driver with UPSERT clause
earlier, where `Gorm` will (obviously) use Expr::Variable's as well as
use quotes for `Expr::Qualified` in the tail end of an UPSERT statement.
Example:
```sql
INSERT INTO users (a,b,c) VALUES (?,?,?) ON CONFLICT (`users`.`a`) DO UPDATE SET b = `excluded`.`b`, a = ?;
```
and previously we were not properly calling `rewrite_expr`, which was
not properly setting the anonymous `Expr::Variable` to `__param_N` named
parameter, so it would ignore it completely, then return the wrong # of
parameters.
Also, we didn't handle quoted "`excluded`.`x`", so it would panic in the
optimizer that Qualified should have been rewritten earlier.
Closes #3157
2025-09-17 11:25:13 -04:00
Nikita Sivukhin
c1176356f7
small fixes
2025-09-17 19:20:42 +04:00
Nikita Sivukhin
93e4dfbd69
remove one more unnecessary io.block
2025-09-17 19:16:51 +04:00
Nikita Sivukhin
f1764d9f76
fix test
2025-09-17 19:09:55 +04:00
Nikita Sivukhin
b5d12b79cd
reset commit_state when commit_dirty_pages is done
2025-09-17 19:09:55 +04:00
Nikita Sivukhin
d16d86b85d
fix blocking ensure_header_if_needed implementation
2025-09-17 19:09:55 +04:00
Nikita Sivukhin
5c4d8aa10b
fix bug after making checkpoint async
2025-09-17 19:09:54 +04:00
Nikita Sivukhin
dea041b7c0
fix after rebase
2025-09-17 19:06:07 +04:00
Nikita Sivukhin
b2afdb8d29
fix comment
2025-09-17 19:06:07 +04:00
Nikita Sivukhin
a8bc06ea9c
fix clippy
2025-09-17 19:06:07 +04:00
Nikita Sivukhin
2c09d17dfe
make checkpoint async
2025-09-17 19:06:07 +04:00
Nikita Sivukhin
c4c9d409c9
remove io.block from op_checkpoint
2025-09-17 19:06:07 +04:00
Nikita Sivukhin
27627bdb8d
remove IOExt import from execute
2025-09-17 19:06:07 +04:00
Nikita Sivukhin
85b671997e
remove io.block from op_open_ephemeral
2025-09-17 19:06:07 +04:00
Nikita Sivukhin
18feacf824
remove io.block from op_sorter_open
2025-09-17 19:06:07 +04:00
Nikita Sivukhin
e250285513
make op_transaction non-blocking
2025-09-17 19:06:07 +04:00
Nikita Sivukhin
9cc1d0fcc2
make append_frames fully async and non-blocking
2025-09-17 19:06:06 +04:00
Iaroslav Zeigerman
29e0cabf2a
Compat: Translate the 2nd argument of group_concat / string_agg
2025-09-17 07:42:07 -07:00
Jussi Saurio
8bf52de94b
Merge 'Remove serialization of normal write/commit path' from Preston Thorpe
...
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #3089
2025-09-17 17:30:45 +03:00
pedrocarlo
27a8f019c6
clippy
2025-09-17 10:49:24 -03:00
pedrocarlo
8b05dcba21
add 10 connections to base profiles
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
04154bf368
simplify code for doublecheck testing
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
35ddcb4270
adjust shrinking as we do not have a property pointer
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
Pekka Enberg
f9db3e97fd
Merge 'core/vtab: Wrap InternalVirtualTable with RwLock' from Pekka Enberg
...
Closes #3180
2025-09-17 16:40:20 +03:00
Pekka Enberg
617adf8eba
Merge 'Clean up encryption feature flag usage' from Avinash Sajjanshetty
...
Closes #3178
2025-09-17 16:40:08 +03:00
Pekka Enberg
5ebf6cd128
core/vtab: Wrap InternalVirtualTable with RwLock
2025-09-17 15:43:33 +03:00
Pekka Enberg
b98e1efb17
Merge 'core/storage: Wrap Pager::checkpoint_state in RwLock' from Pekka Enberg
...
Closes #3176
2025-09-17 14:41:18 +03:00
Avinash Sajjanshetty
4eaee0fd81
clean up encryption feature flag usage
2025-09-17 16:30:51 +05:30
Preston Thorpe
bcafb288ad
Merge 'Fix is_nonnull returns true on 1 / 0' from Lâm Hoàng Phúc
...
turso:
```sh
turso> CREATE TABLE t (x PRIMARY KEY, y, z);
turso> INSERT INTO t VALUES (37, -70, -196792117);
turso> SELECT * FROM t WHERE (1 / 0) >= -3289742039 < t.x;
┌────┬─────┬────────────┐
│ x │ y │ z │
├────┼─────┼────────────┤
│ 37 │ -70 │ -196792117 │
└────┴─────┴────────────┘
turso>
```
sqlite:
```sh
sqlite> CREATE TABLE t (x PRIMARY KEY, y, z);
sqlite> INSERT INTO t VALUES (37, -70, -196792117);
sqlite> SELECT * FROM t WHERE (1 / 0) >= -3289742039 < t.x;
sqlite>
```
related: https://github.com/tursodatabase/turso/actions/runs/17765571409
/job/50488042583?pr=3147#step:8:855
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Reviewed-by: Preston Thorpe <preston@turso.tech >
Closes #3167
2025-09-17 06:55:55 -04:00
PThorpe92
97c11898fe
Minor refactor in translate/insert
2025-09-17 06:44:10 -04:00
PThorpe92
8dd1cf11eb
Add some more specific tests for upsert
2025-09-17 06:44:10 -04:00
PThorpe92
5dd466941e
Handle upsert even in inserting_multiple_rows case
2025-09-17 06:44:09 -04:00
PThorpe92
85eee42bf1
Support quoted qualified identifiers in UPSERT excluded.x clauses
2025-09-17 06:44:08 -04:00
PThorpe92
d2cd833b86
Rewrite exprs in set + where clause for UPSERT
2025-09-17 06:38:25 -04:00
Pekka Enberg
2b89dd4ea8
Merge 'core: Wrap Pager dirty_pages in RwLock' from Pekka Enberg
...
Make it Sync and Send.
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #3175
2025-09-17 13:34:47 +03:00
Pekka Enberg
58b0e8665d
Merge 'core: Wrap MvCursor in Arc<RwLock<>>' from Pekka Enberg
...
Make it Send and Sync.
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #3174
2025-09-17 13:34:34 +03:00
Pere Diaz Bou
434daf4b10
core/mvcc: fmt
2025-09-17 12:18:44 +02:00