Skip to main content

Crate overdrive

Crate overdrive 

Source
Expand description

§OverDrive InCode SDK

An embeddable document database — like SQLite for JSON.

Import the package, open a file, query your data. No server needed.

§Quick Start (Rust)

use overdrive::OverDriveDB;
 
let mut db = OverDriveDB::open("myapp.odb").unwrap();
db.create_table("users").unwrap();
 
let id = db.insert("users", &serde_json::json!({
    "name": "Alice",
    "email": "alice@example.com",
    "age": 30
})).unwrap();
 
let results = db.query("SELECT * FROM users WHERE age > 25").unwrap();
println!("{:?}", results.rows);

§Setup

  1. cargo add overdrive-sdk
  2. Download the native library from GitHub Releases
  3. Place it in your project directory or on your system PATH

Modules§

ffi
C FFI Layer for OverDrive InCode SDK
query_engine
Embedded SQL Query Engine for OverDrive InCode SDK
result
SDK-specific error types for OverDrive InCode SDK
shared
Thread-safe wrapper for OverDriveDB

Structs§

IntegrityReport
Result of an integrity verification check
OverDriveDB
OverDrive InCode SDK — Embeddable document database
QueryResult
Query result returned by query()
SecretKey
A secret key that is automatically zeroed from memory when dropped. Use this to hold AES encryption keys — prevents leak via memory dump.
Stats
Database statistics (expanded for Phase 5)
TransactionHandle
A handle for an active MVCC transaction

Enums§

IsolationLevel
MVCC Isolation level for transactions

Functions§

set_secure_permissions
Set restrictive OS-level permissions on the .odb file: