Skip to main content

Crate limbo_core

Crate limbo_core 

Source
Expand description

Core engine of the C-free oxisqlite SQLite-compatible database, a Pure-Rust fork of limbo 0.0.22 powering the oxisql-sqlite-compat backend.

Implements the VDBE bytecode interpreter, B-tree storage/pager/WAL, a System-R cost-based SQL query planner, MVCC transactions (ROLLBACK, SAVEPOINT), UPSERT, and JSON/JSONB support.

Re-exports§

pub use types::RefValue;
pub use types::Value;

Modules§

mvcc
Multiversion concurrency control (MVCC) for Rust.
result
types

Macros§

bail_constraint_error
bail_corrupt_error
bail_parse_error
must_be_btree_cursor
return_corrupt
return_if_io
If there is I/O, the instruction is restarted. Evaluate a Result<CursorResult<T>>, if IO return Ok(StepResult::IO).

Structs§

Buffer
BufferPool
CheckpointResult
Connection
Database
Instant
MemoryIO
OpenFlags
Page
Pager
The pager interface implements the persistence layer by providing access to pages of the database file, including caching, concurrency control, and transaction management.
PlatformIO
QueryRunner
Statement
SymbolTable
SyscallIO
WalFile
WalFileShared
WalFileShared is the part of a WAL that will be shared between threads. A wal has information that needs to be communicated between threads so this struct does the job.
WriteCompletion

Enums§

CheckpointMode
CheckpointStatus
Completion
LimboError
PagerCacheflushStatus
The status of the current cache flush. A Done state means that the WAL was committed to disk and fsynced, plus potentially checkpointed to the DB (and the DB then fsynced).

Statics§

DATABASE_VERSION

Traits§

Clock
DatabaseStorage
DatabaseStorage is an interface a database file that consists of pages.
File
IO
Wal
Write-ahead log (WAL).

Functions§

maybe_init_database_file
Initialize a brand-new database file (write the bootstrap page 1) if the file is empty.
resolve_ext_path

Type Aliases§

PageRef
Result
Row
StepResult