Skip to content

We should make autovacuum experimental mode as it's not tested and not fully implemented yet #3752

@Pavan-Nambi

Description

@Pavan-Nambi

i kept running into bugs with my vacuum implementation so i tried to look at autovacuum
edit: removed stack trace

turso> CREATE TABLE t1(x INTEGER);
turso> PRAGMA auto_vacuum = FULL;
turso> CREATE TABLE t2(a INTEGER PRIMARY KEY, b BLOB);
turso> INSERT INTO t2 VALUES(2, randomblob(5000000));
turso> INSERT INTO t2 VALUES(25, randomblob(2000000));
turso> PRAGMA auto_vacuum = FULL;
turso> pragma integrity_check;

thread 'main' panicked at core/storage/sqlite3_ondisk.rs:470:50:
called `Result::unwrap()` on an `Err` value: Corrupt("Invalid page type: 1")
turso on  main [$?⇡] is 📦 v0.3.0-pre.1 via 🐍 v3.12.3 via 🦀 v1.88.0 took 1m28s
❯ cargo run 1xwe1111q111
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.16s
     Running `target/debug/tursodb 1xwe1111q111`
Turso v0.3.0-pre.1
Enter ".help" for usage hints.
Did you know that Turso supports a built-in MCP server? Type .manual mcp to learn more.
This software is in BETA, use caution with production data and ensure you have backups.
turso> .tables
t1 t2
turso> select * from t1;

thread 'main' panicked at core/storage/sqlite3_ondisk.rs:470:50:
called `Result::unwrap()` on an `Err` value: Corrupt("Invalid page type: 1")
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions