limbo/core
Jussi Saurio caa71ea39c
Some checks are pending
Build and push limbo-sim image / deploy (push) Waiting to run
C compat Tests / test (push) Waiting to run
Dart/Flutter / test (blacksmith-4vcpu-ubuntu-2404) (push) Waiting to run
Dart/Flutter / test (windows-latest) (push) Waiting to run
Dart/Flutter / precompile (blacksmith-4vcpu-ubuntu-2404) (push) Waiting to run
Dart/Flutter / precompile (macOS-latest) (push) Waiting to run
Dart/Flutter / precompile (windows-latest) (push) Waiting to run
Dart/Flutter / publish (push) Waiting to run
Dotnet Tests / test (push) Waiting to run
Run long fuzz tests and stress test / run-fuzz-tests (push) Waiting to run
Run long fuzz tests and stress test / run-long-fuzz-tests (push) Waiting to run
Run long fuzz tests and stress test / simple-stress-test (push) Waiting to run
Build & Publish Go Driver / Build Rust and run Go tests (push) Waiting to run
Build & Publish Go Driver / Publish Go driver (push) Blocked by required conditions
Java Tests / test (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-aarch64-apple-darwin - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-aarch64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-wasm32-wasip1-threads - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-x86_64-pc-windows-msvc - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-x86_64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-aarch64-apple-darwin - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-aarch64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-wasm32-wasip1-threads - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-x86_64-unknown-linux-gnu - node@20 (push) Waiting to run
Python / linux (x86_64) (push) Waiting to run
Python / sdist (push) Waiting to run
Python / Release (push) Blocked by required conditions
Rust / test-sqlite (push) Waiting to run
Rust / cargo-fmt-check (push) Waiting to run
Rust / build-native (blacksmith-4vcpu-ubuntu-2404) (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-x86_64-pc-windows-msvc - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / Test DB bindings on Linux-x64-gnu - node@20 (push) Blocked by required conditions
Build & publish @tursodatabase/database / Test DB bindings on browser@20 (push) Blocked by required conditions
Build & publish @tursodatabase/database / Publish (push) Blocked by required conditions
Python / macos-arm64 (aarch64) (push) Waiting to run
Python / configure-strategy (push) Waiting to run
Python / test (push) Blocked by required conditions
Python / lint (push) Waiting to run
Rust / build-native (windows-latest) (push) Waiting to run
Rust / clippy (push) Waiting to run
Rust / simulator (push) Waiting to run
Rust / test-limbo (push) Waiting to run
Rust / build-native (macos-latest) (push) Waiting to run
Rust Benchmarks+Nyrkiö / vfs-bench-compile (push) Waiting to run
Rust Benchmarks+Nyrkiö / bench (push) Waiting to run
Rust Benchmarks+Nyrkiö / clickbench (push) Waiting to run
Rust Benchmarks+Nyrkiö / tpc-h-criterion (push) Waiting to run
Rust Benchmarks+Nyrkiö / tpc-h (push) Waiting to run
Merge 'implement state machine for op_journal_mode' from Pedro Muniz
## Description
Remove sync IO hacks for `op_journal_mode`
Close #4268
<!--
Please include a summary of the changes and the related issue.
-->
## Motivation and context
Remove sync io hacks so it is friendlier for WASM
<!--
Please include relevant motivation and context.
Link relevant issues here.
-->
## Description of AI Usage
Ai basically made the bulk refactoring and I made some adjustments and
trimmed down the implementation
**Prompt**:
```
if look at @core/storage/journal_mode.rs and `op_journal_mode` in `execute.rs` you will see that we have some blocking io operations with
`pager.io.block` and `program.connection.checkpoint` that also blocks. I want you refactor the code to use state machines similar in nature to how we do it
 in many functions in `execute.rs`
```
<!--
Please disclose how AI was used to help create this PR. For example, you
can share prompts,
specific tools, or ways of working that you took advantage of. You can
also share whether the
creation of the PR was mainly driven by AI, or whether it was used for
assistance.
This is a good way of sharing knowledge to other contributors about how
we can work more efficiently with
AI tools. Note that the use of AI is encouraged, but the committer is
still fully responsible for understanding
and reviewing the output.
-->

Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com>

Closes #4279
2025-12-18 10:12:12 +02:00
..
benches chore: remove experimental_indexes feature flags 2025-12-08 13:00:37 +02:00
ext chore: remove experimental_indexes feature flags 2025-12-08 13:00:37 +02:00
functions fix unicode char boundary related panic in parse_modifier() 2025-12-11 17:18:11 +02:00
incremental core: change some panics to errors 2025-12-11 17:18:11 +02:00
index_method refine comment 2025-12-10 16:02:42 +04:00
io add tests for completions 2025-12-17 17:44:02 -03:00
json fix(json): properly serialize infinite values 2025-12-16 10:15:29 +00:00
mvcc add btree_resident field in RowVersion to track if the insert and deletion is originally from a btree 2025-12-17 10:55:25 -03:00
numeric feat: add CAST to fuzzer 2025-09-24 18:06:55 -03:00
storage implement state machine for op_journal_mode 2025-12-18 01:23:24 -03:00
time
translate Merge 'triggers: don't rewrite qualified table names' from Pavan Nambi 2025-12-18 09:26:46 +02:00
vdbe Merge 'implement state machine for op_journal_mode' from Pedro Muniz 2025-12-18 10:12:12 +02:00
vector fix clippy 2025-11-28 16:08:11 +05:30
assert.rs
build.rs do not run build.rs on debug mode 2025-10-16 01:22:54 -03:00
Cargo.toml Improve Android compatibility 2025-12-06 23:37:40 +01:00
error.rs Add LimboError::CheckpointFailed to track errors occurring specifically in checkpoint 2025-12-16 10:41:54 -05:00
fast_lock.rs remove some unnecessary unsafe impls 2025-09-21 13:29:59 -03:00
function.rs Add scalar functions to properly support analyze behavior 2025-12-09 19:45:06 -05:00
info.rs
lib.rs Merge 'Enable MVCC with PRAGMA journal_mode' from Pedro Muniz 2025-12-17 21:03:56 +02:00
parameters.rs rename methods in core a little bit 2025-11-27 14:12:47 +04:00
pragma.rs support table_xinfo pragma 2025-11-20 17:38:10 +04:00
pseudo.rs clippy 2025-10-09 19:00:40 +03:00
schema.rs Get mutable reference to table in Schema so we can modify it with 2025-12-11 13:19:34 -03:00
series.rs Replace ConstraintInfo::plan_info with ConstraintInfo::index 2025-08-05 05:48:29 +02:00
state_machine.rs mvcc: simplify StateMachine 2025-09-22 16:37:31 +03:00
stats.rs Add scalar functions to properly support analyze behavior 2025-12-09 19:45:06 -05:00
types.rs fix/mvcc: seek() must seek from both mv store and btree 2025-12-05 11:53:16 +02:00
util.rs fix(core/util): fix integer/float equivalence in numeric string comparison 2025-12-16 23:49:18 +00:00
uuid.rs
vtab.rs fix bug 2025-12-03 02:37:59 +04:00