Commit Graph

7539 Commits

Author SHA1 Message Date
Pekka Enberg
db0d80310f Update manual.md 2025-08-13 11:57:47 +03:00
Pekka Enberg
c856472dbe docs: Add a section on MVCC internals 2025-08-13 11:52:02 +03:00
Jussi Saurio
1a625e7bf6 Merge 'Wait for I/O completions' from Pedro Muniz
Depends on #2566.
This PR bubbles all completions up to the `step()` function. Then in the
step function we store the completions and before proceeding with the
next instruction, we first check if IO was completed. Because of this
feature, we do not have to build most our code around waiting for IO to
complete or for the page to be loaded, as we should not proceed to next
state if we did not await all completions.

Closes #2570
2025-08-13 11:23:08 +03:00
pedrocarlo
187ffb5698 adjust test 2025-08-13 10:24:55 +03:00
pedrocarlo
8d48be0e61 cleanup 2025-08-13 10:24:55 +03:00
pedrocarlo
fbe7e685ce adjust mvcc code to return completions in state machines 2025-08-13 10:24:55 +03:00
pedrocarlo
c1975cdfa1 ptrmap functions should bubble completions 2025-08-13 10:24:55 +03:00
pedrocarlo
b6e200dbed adjust cacheflush calls outside of pager 2025-08-13 10:24:55 +03:00
pedrocarlo
78cb61c1fe before stepping to next insntruction check for io 2025-08-13 10:24:55 +03:00
pedrocarlo
c381fe3844 bubble completions in Sorter 2025-08-13 10:24:55 +03:00
pedrocarlo
0b6ab9d969 bubble completions in execute 2025-08-13 10:24:55 +03:00
pedrocarlo
925d4b15e1 adjust more pager IO returns 2025-08-13 10:24:55 +03:00
pedrocarlo
56905fc340 refactor checkpoint in pager 2025-08-13 10:24:55 +03:00
pedrocarlo
a7f5912e7d adjust wal checkpoint to return completions 2025-08-13 10:24:55 +03:00
pedrocarlo
10ad43d9e0 sync should return completion 2025-08-13 10:24:55 +03:00
pedrocarlo
a7873d8907 remove write counters from Wal impls 2025-08-13 10:24:55 +03:00
pedrocarlo
494fdb828b buuble completions in pager 2025-08-13 10:24:55 +03:00
pedrocarlo
ccc22863c6 remove return_if_locked and return_if_locked_maybe_load 2025-08-13 10:24:55 +03:00
pedrocarlo
f95625a06c bubble completions in btree 2025-08-13 10:24:55 +03:00
pedrocarlo
82b75330bc adjust types.rs util.rs view.rs and mvcc to bubble io 2025-08-13 10:24:55 +03:00
pedrocarlo
2e68296107 create IOCompletions 2025-08-13 10:24:55 +03:00
Jussi Saurio
43628e2a9a Merge 'IO Cleanups to use and ' from Pedro Muniz
Depends on #2512 .
This is an attempt to remove all the noise from my IO completions
refactor into separate PRs

Closes #2566
2025-08-13 10:24:15 +03:00
Pekka Enberg
2ba28892dc serverless: 0.1.3 2025-08-13 09:56:43 +03:00
Jussi Saurio
e657626167 Merge 'Fix tables renaming to existing index and rename indexed columns on ' from Levy A.
Simple bug fixes.

Closes #2572
2025-08-13 09:56:02 +03:00
Levy A.
6a37916b49 fix: rename indexed columns 2025-08-13 08:55:17 +03:00
Levy A.
45d959635c fix: check if index exists with the same name 2025-08-13 08:55:17 +03:00
Jussi Saurio
2a4404cd13 Merge 'move our dbsp-based views to materialized views' from Glauber Costa
We will implement normal SQLite-style view-as-an-alias for
compatibility, and will call our incremental views materialized views.

Closes #2571
2025-08-13 08:53:30 +03:00
Jussi Saurio
3e8a5b92ae Merge 'turso-sync: support checkpoint' from Nikita Sivukhin
remote protocol can require client to perform checkpoint of the WAL.
This PR supports that need in the sync-engine implementation

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

Closes #2565
2025-08-13 08:49:31 +03:00
Jussi Saurio
3908dde832 remove committed garbage files 2025-08-13 08:34:22 +03:00
pedrocarlo
85e86d427b cleanups - use io.block in many functions and return_if_io 2025-08-13 08:32:38 +03:00
Jussi Saurio
73a2851f0b Merge 'More State machines' from Pedro Muniz
Adds more state machines and does some minor adjustments in some other
functions like `commit_tx` and `execute`.

Closes #2512
2025-08-13 08:31:05 +03:00
Preston Thorpe
a0f70f04f2 Merge 'Rename page -> slot for arenas + buffer pool' from Preston Thorpe
No semantic changes here, just name changing for to prevent confusion as
@sivukhin pointed out.

Reviewed-by: Nikita Sivukhin (@sivukhin)

Closes #2564
2025-08-12 16:03:00 -04:00
Glauber Costa
770f86e490 move our dbsp-based views to materialized views
We will implement normal SQLite-style view-as-an-alias for
compatibility, and will call our incremental views materialized views.
2025-08-12 14:19:17 -05:00
Pekka Enberg
a6247e891f Turso 0.1.4-pre.8 2025-08-12 19:51:42 +03:00
Pekka Enberg
3dd58e98e7 Merge 'Unify JavaScript package README files' from Pekka Enberg
Reviewed-by: Nikita Sivukhin (@sivukhin)

Closes #2563
2025-08-12 19:51:32 +03:00
Pekka Enberg
475799b3e9 Unify JavaScript package README files 2025-08-12 19:30:02 +03:00
Nikita Sivukhin
8040604362 fix clippy 2025-08-12 19:54:11 +04:00
Nikita Sivukhin
1ac3d632ca support checkpoint from remote 2025-08-12 19:53:04 +04:00
Nikita Sivukhin
bf863803da add simple test with checkpoint 2025-08-12 19:49:21 +04:00
PThorpe92
5a4c2a6ce9 Rename page -> slot for arenas + buffer pool 2025-08-12 11:36:49 -04:00
pedrocarlo
217c9061e8 advance commit_tx state machine in mvcc tests 2025-08-12 12:28:35 -03:00
pedrocarlo
e94f1f9f14 refactor move_to functions to return IO on start 2025-08-12 12:28:35 -03:00
pedrocarlo
4010dc8f32 state machine for insert 2025-08-12 12:28:35 -03:00
pedrocarlo
78a89f0fd3 execute should create an Statement 2025-08-12 12:28:35 -03:00
pedrocarlo
10cadd4037 do not use StepResult for commit_txn 2025-08-12 12:28:35 -03:00
pedrocarlo
9ab07f59ad adjust mvcc state transitions 2025-08-12 12:28:35 -03:00
pedrocarlo
fc5492bf2c state machine for op_row_id 2025-08-12 12:28:35 -03:00
pedrocarlo
1221f65d10 state machine for op_column 2025-08-12 12:28:35 -03:00
pedrocarlo
fe0e4bcbb7 state machine for seek_end 2025-08-12 12:28:35 -03:00
pedrocarlo
fc05518192 refactor continue_payload_overflow_with_offset 2025-08-12 12:28:34 -03:00