Commit Graph

6765 Commits

Author SHA1 Message Date
PThorpe92
d702e6a80c Polish checkpointing and fix tests, add documentation 2025-07-30 14:08:53 +03:00
PThorpe92
8ec99a9143 Remove assert for !NO_LOCK_HELD, properly handle writing header if reset 2025-07-30 14:08:51 +03:00
PThorpe92
529cc14e29 Fix wal tests remove unwrap from previous Result return val 2025-07-30 14:08:33 +03:00
PThorpe92
7640535ba4 Fix transaction read0 shortcut in WAL and track whether we have snapshot 2025-07-30 14:08:33 +03:00
PThorpe92
ff1987a45c Temporarily remove optimization for new read tx to grab read mark 0 and skip db file 2025-07-30 14:08:33 +03:00
PThorpe92
318bfa9590 Change incorrect comments and rename guard 2025-07-30 14:08:33 +03:00
PThorpe92
1490a586b1 Apply suggestions/fixes and add extensive comments to wal chkpt 2025-07-30 14:08:33 +03:00
PThorpe92
3e75444388 Remove panic in cacheflush io.block in pager now that checkpoitns can return busy 2025-07-30 14:08:33 +03:00
PThorpe92
5c1dbd1a9f Remove unused import 2025-07-30 14:08:33 +03:00
PThorpe92
3db72cf111 Just forget Full checkpoint mode for now, comment out compat test 2025-07-30 14:08:33 +03:00
PThorpe92
49f90980d4 Create new header after truncation chkpt 2025-07-30 14:08:33 +03:00
PThorpe92
b214c3dfc8 Add diff chkpt modes to sqlite3 api, finish checkpoint logic and add tests 2025-07-30 14:08:33 +03:00
PThorpe92
eaa6f99fa8 Hold and ensure release of proper locks if we trunc the db file post-checkpoint 2025-07-30 14:08:33 +03:00
PThorpe92
8ca37b71b6 Ensure we properly hold and release read locks in log restart method and fix tests 2025-07-30 14:08:33 +03:00
PThorpe92
9b7e5ed292 Trunc db file after backfilling everything in calling method 2025-07-30 14:08:33 +03:00
PThorpe92
436747536c Add integration test for truncate checkpointing wal 2025-07-30 14:08:33 +03:00
PThorpe92
7643ef97a6 Pass checkpoint mode from sqlite3 c api argument 2025-07-30 14:08:33 +03:00
PThorpe92
f4becd1296 Allow using !passive checkpoint methods in pragma wal_checkpoint 2025-07-30 14:08:33 +03:00
PThorpe92
1a9b7ef76e Add support for truncate, restart and full checkpointing methods 2025-07-30 14:08:31 +03:00
PThorpe92
6b71efa5b6 Accept mode argument for checkpoint in connection api 2025-07-30 14:07:20 +03:00
PThorpe92
f78c6af51a Display error when unable to open file from within cli 2025-07-30 14:07:20 +03:00
PThorpe92
441319e774 Fix todo! in vfs IO preventing write wal header from using wait_for_completion 2025-07-30 14:07:19 +03:00
PThorpe92
ad286bb873 Use new wait_for_completion for sync IO 2025-07-30 14:07:04 +03:00
PThorpe92
9c75872827 Make writing wal header able to be sync 2025-07-30 14:05:18 +03:00
PThorpe92
dcf346b9b0 Update apparently very old branch to new api 2025-07-30 13:48:05 +03:00
PThorpe92
cfbe9d5b9e Fix clippy error casting same size 2025-07-30 13:48:05 +03:00
PThorpe92
f22313575f Fix windows method to take usize in place of u64 2025-07-30 13:48:05 +03:00
PThorpe92
edbc29e2a6 Add restart_header and truncate for WAL and tests to prep for truncate checkpoint mode 2025-07-30 13:48:05 +03:00
PThorpe92
272a63b562 Fix truncate impl in JS bindings 2025-07-30 13:48:05 +03:00
PThorpe92
3be8bb374d Use usize for truncate method in place of u64 2025-07-30 13:48:05 +03:00
PThorpe92
52f63b2af0 Impl truncate for simulator 2025-07-30 13:48:05 +03:00
PThorpe92
bbb47fd58a Add truncate method to wasm bindings module 2025-07-30 13:48:05 +03:00
PThorpe92
ce1897cb4a Impl truncate for the remainder of IO modules 2025-07-30 13:48:05 +03:00
PThorpe92
d30157518f Impl truncate method for VFS io module and create plumbing in extension lib 2025-07-30 13:48:05 +03:00
PThorpe92
fa002cba59 Impl truncate method for io_uring IO 2025-07-30 13:48:05 +03:00
PThorpe92
a4121c8cea Impl truncate method for generic IO 2025-07-30 13:48:05 +03:00
PThorpe92
73fe4ffa06 Add truncate method to DatabaseStorage trait 2025-07-30 13:48:05 +03:00
PThorpe92
8bf2898c47 Add truncate method to IO trait and Truncate completion variant 2025-07-30 13:48:05 +03:00
Pekka Enberg
2eed2745d3 Merge 'Change more function signatures to return Completions' from Pedro Muniz
Closes #2330
2025-07-30 10:42:45 +03:00
Pekka Enberg
2443b8db3c Merge 'bindings/rust: Add Connection::execute_batch()' from Rohith Suresh
Fixes #2184

Closes #2215
2025-07-30 10:19:03 +03:00
Pekka Enberg
81c86d42b4 Merge 'Clean up conversion between InsnFunctionStepResult and StepResult' from Diego Reis
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com>

Closes #2332
2025-07-30 09:11:35 +03:00
Pekka Enberg
9ab26b3ac2 Merge 'core/mvcc: simplify mvcc cursor types' from Pere Diaz Bou
We have so many cursor types that it will be unbearable to properly make
all of them work. Let's simplify this and only focus on lazy cursor
which in the future will load from database in case we need it.

Closes #2333
2025-07-30 09:10:44 +03:00
Pere Diaz Bou
caa5fe3ef4 core/mvcc: simplify mvcc cursor types
We have so many cursor types that it will be unbearable to properly make
all of them work. Let's simplify this and only focus on lazy cursor
which in the future will load from database in case we need it.
2025-07-29 20:13:52 +02:00
Diego Reis
e0b099f5ad refactor: Implement conversion between InsnFunctionStepResult and
StepResult
2025-07-29 15:02:09 -03:00
pedrocarlo
a1c5a6efae begin_sync should return a Completion 2025-07-29 13:40:58 -03:00
pedrocarlo
9c4ce745ba wait_for_completion was not implemented for MemoryIO and VFS 2025-07-29 13:23:45 -03:00
Pekka Enberg
d72ba0c153 Merge 'bindings/java: Throw UnsupportedOperationException for unimplemented …' from Pekka Enberg
…methods

Closes #2329
2025-07-29 19:07:51 +03:00
Pekka Enberg
76cbb71b53 Merge 'bindings/rust: return errors instead of vibecoded numbers' from Jussi Saurio
Good vibes only.
Fixes #2327

Closes #2328
2025-07-29 19:07:47 +03:00
RS2007
2587d0cc76 Removing dbg 2025-07-29 21:24:33 +05:30
RS2007
e31435e416 Typo fix 2025-07-29 21:24:33 +05:30