Files
turso/core
Jussi Saurio 202490289e Merge 'More async' from Nikita Sivukhin
This PR eliminates blocking IO calls (`io.block` /
`io.wait_for_completion`) from common execution paths
I need this because I am trying to make turso in browser work smoothly
and current paradigm doesn't work well as it use same connection from
different threads. But, in order to run DB on main thread only (expect
IO) - we need to eliminate all blocking calls (they block main thread
and it can't exit from this state).
This PR eliminates blocking behaviour from following places:
1. `append_frames` now fully async but `prepare_wal_start` /
`prepare_wal_finish` must be called before it in order to ensure that
WAL header is initialized
2. `op_transaction` is non-blocking and read db header async
3. `op_sorter_open` is non-blocking and read db header async in the
beginnig of execution
4. `op_open_ephemeral` is non-blocking and read db header async in the
beginning of execution (note, that I am also removed weird logic which
read page size from the empty ephemeral DB file)
5. `op_checkpoint` is non blocking and checkpoint itself now have more
complex state machine to handle previously blocking behaviour

Closes #3179
2025-09-18 10:31:25 +03:00
..
2025-09-15 14:48:26 +03:00
2025-09-17 12:18:44 +02:00
2025-06-30 10:01:03 +03:00
2025-09-18 10:48:54 +04:00
2025-08-15 17:08:53 -04:00
2025-01-28 14:55:38 -05:00
2025-09-13 11:00:37 +05:30
2025-06-23 19:52:13 +01:00
2025-09-17 11:57:23 +03:00
2025-01-28 14:55:38 -05:00
2025-09-17 21:55:23 +05:30
2025-06-23 19:52:13 +01:00
2025-09-17 12:46:55 +03:00
2025-09-13 10:49:14 +02:00
2025-09-17 15:53:06 -04:00
2025-06-30 09:54:13 +03:00