Diego Reis
0e9771ac07
refactor: Change redundant "Status" enums to IOResult
...
Let's unify the semantics of "something done" or yields I/O into a
single type
2025-07-15 20:56:18 -03:00
Jussi Saurio
0ab0af912c
Merge 'bindings/js: fix more tests' from Mikaël Francoeur
...
Six more tests passing on Turso. The commits can be reviewed separately.
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #2085
2025-07-15 12:17:15 +03:00
meteorgan
d7bdfeb711
reinitialize WalFileShare when reset page size
2025-07-15 16:34:07 +08:00
meteorgan
b42a1ef272
minor improvements based on PR comments
2025-07-15 16:34:07 +08:00
meteorgan
f123c77ee8
fix set page_size in pager
2025-07-15 16:34:07 +08:00
meteorgan
e2ab673624
fix self.pager.replace() panic
2025-07-15 16:34:07 +08:00
meteorgan
a6faab17e9
fix query page size
2025-07-15 16:34:07 +08:00
meteorgan
cf126824de
Support set page size
2025-07-15 16:34:07 +08:00
Mikaël Francoeur
e25064959b
return info object
2025-07-14 14:35:48 -04:00
Nikita Sivukhin
9129991b62
add id,before,after,full modes
2025-07-14 11:16:06 +04:00
Jussi Saurio
a48b6d049a
Another post-rebase clippy round with 1.88.0
2025-07-12 19:10:56 +03:00
Nils Koch
1a91966c7e
fix clippy errors for rust 1.88.0 (manual fix)
2025-07-12 18:58:55 +03:00
Nils Koch
828d4f5016
fix clippy errors for rust 1.88.0 (auto fix)
2025-07-12 18:58:41 +03:00
Levy A.
cc17211189
direct btree calls
2025-07-11 15:04:28 -03:00
Pere Diaz Bou
511b80a062
do not assert connection is closed and return error on api
2025-07-08 16:47:03 +02:00
Pere Diaz Bou
ef41c19542
assert is not closed already
2025-07-08 15:58:11 +02:00
Pere Diaz Bou
5319af8fd8
set closed to cell
2025-07-08 15:55:50 +02:00
Pere Diaz Bou
8909e198ae
set closed flag for connection to detect force zombies
...
Let's make sure we don't keep using a connection after it was dropped.
In case of executing a query that was closed we will try to rollback and
return early.
2025-07-08 15:19:20 +02:00
Pekka Enberg
341f963a8e
Merge 'Fix infinite loops, rollback problems, and other bugs found by I/O fault injection' from Pedro Muniz
...
Was running the sim with I/O faults enabled and fixed some nasty bugs.
Now, there are some more nasty bugs to fix as well. This is the command
that I use to run the simulator `cargo run -p limbo_sim -- --minimum-
tests 10 --maximum-tests 1000`
This PR mainly fixes the following bugs:
- Not decrementing in flight write counter when `pwrite` fails
- not rolling back the transaction on `step` error
- not rolling back the transaction on `run_once` error
- some functions were just being unwrapped when they could suffer io
errors
- Only change max_frame after wal sync's
Reviewed-by: Pere Diaz Bou <pere-altea@homail.com >
Reviewed-by: Pere Diaz Bou <pere-altea@homail.com >
Closes #1946
2025-07-07 21:31:26 +03:00
pedrocarlo
6b60dd06c6
only rollback on write transaction
2025-07-07 12:10:54 -03:00
pedrocarlo
367002fb72
rename change_schema to schema_did_change
2025-07-07 11:58:16 -03:00
pedrocarlo
b85687658d
change instrumentation level to INFO
2025-07-07 11:53:45 -03:00
pedrocarlo
711b1ef114
make all run_once be run under statement or connection so that rollback is called
2025-07-07 11:51:25 -03:00
pedrocarlo
5559c45011
more instrumentation + write counter should decrement if pwrite fails
2025-07-07 11:50:21 -03:00
pedrocarlo
b69472b5a3
pass correct change schema to step rollback
2025-07-07 11:50:21 -03:00
pedrocarlo
897426a662
add error tracing to relevant functions + rollback transaction in step_end_write_txn + make move_to_root return result
2025-07-07 11:50:21 -03:00
Nikita Sivukhin
a10d423aac
adjust schema
2025-07-06 22:30:57 +04:00
Nikita Sivukhin
a988bbaffe
allow to specify table in the capture_data_changes PRAGMA
2025-07-06 22:19:32 +04:00
Nikita Sivukhin
04f2efeaa4
small renames
2025-07-06 21:16:57 +04:00
Nikita Sivukhin
3f0716b2a4
add capture_changes per-connection flag
2025-07-06 21:16:24 +04:00
pedrocarlo
56d87cb916
move disable behavior to connection instead of checkpoint
2025-07-03 12:05:53 -03:00
pedrocarlo
db005c81a0
add option to disable wal checkpoint
2025-07-03 12:04:17 -03:00
Pere Diaz Bou
c799396c3d
rollback schema in connection
2025-07-03 12:36:48 +02:00
Pere Diaz Bou
65a7fe13cf
remove lock from private schema copy
2025-07-03 12:36:48 +02:00
Pere Diaz Bou
abf1699dd2
set scheam version and update shared schema in txn
2025-07-03 12:36:48 +02:00
KaguraMilet
562dd389db
Merge branch 'tursodatabase:main' into buffer
2025-07-03 13:46:37 +08:00
Pekka Enberg
3bd5d4c732
core: Drop debugging code
2025-07-02 19:55:38 +03:00
pedrocarlo
191f732088
from_uri was not passing mvcc and indexes flag to database creation for memory path
2025-07-02 13:46:49 -03:00
KaguraMilet
aca08238d8
fix buffer pool is not thread safe problem
2025-07-01 16:06:55 +08:00
PThorpe92
bbee10ba2c
Add mvcc and index config to connection open api
2025-06-30 22:04:56 -04:00
PThorpe92
8f141e934a
Add readonly option to db connection and add method to open new connection via URI
2025-06-30 22:03:51 -04:00
Pekka Enberg
9c1b7897ac
Fix URLs to point to github.com/tursodatabase/turso
2025-06-30 11:23:53 +03:00
Pekka Enberg
60191e7c7b
Move series extension to core
...
It's part of upstream SQLite too.
2025-06-30 10:29:34 +03:00
Pekka Enberg
39fd84f297
Move time extension to core
2025-06-30 10:01:03 +03:00
Pekka Enberg
12131babae
Move UUID extension to core
...
We want to bundle the UUID extension by default so move the code to core.
2025-06-30 09:54:13 +03:00
Pekka Enberg
725c3e4ddc
Rename limbo_sqlite3_parser crate to turso_sqlite3_parser
2025-06-29 12:34:46 +03:00
Pekka Enberg
645c0bd796
core: Add Antithesis-aware turso_assert
...
This adds a `turso_assert` macro that is Antithesis aware when
`antithesis` feature flag is enabled. I did not yet convert any
call-sites to use it.
Co-authored-by: Nikita Sivukhin <sivukhin@turso.tech >
2025-06-29 11:46:18 +03:00
Pere Diaz Bou
22cb95bc5d
execute run on multiple parsed statements
2025-06-27 14:02:47 +02:00
pedrocarlo
64d9193e7b
refactor Completion to have a type field and lift common is_complete property
2025-06-26 22:17:27 -03:00
Pekka Enberg
572c722390
Merge 'write page1 on database initialization' from Pere Diaz Bou
...
Page 1 must be initialized and written as soon as possible without
marking page as dirty.
OpenEphemeral now requires a state machine to accomodate new
begin_write_tx semantics.
Closes #1839
2025-06-26 20:43:40 +03:00