Ridge Incorporato API

Utilizzare il pacchetto ridge Grove quando un processo seed deve possedere il database. L'handle del database è una risorsa di solo spostamento con pulizia deterministica.

Applicazione minima

use "ridge"

fn main() -> result<i64, ridge_error> {
    let mut db = ridge_open("./data/app", 4096 as usize)?
    db.create_table("items", 4096 as usize)?

    let payload = bytes.from("hello").or_abort()
    db.insert("items", 1, payload.view())?

    let found = db.get("items", 1)?
    match found {
        some(row) => print(f"row={row.id}")
        none => print("not found")
    }
    result.ok(0)
}

Esegui gli attuali controlli del compilatore seed prima di copiare un esempio in un'applicazione:

./seed/seed check path/to/application
./seed/seed test path/to/application

Operazioni fondamentali

ridge_open / ridge_open_with_cache
db.create_table / db.insert / db.get / db.update / db.delete
db.count / db.scan / db.find_equal / db.create_unique_index
db.begin / db.try_begin / db.transaction_put / db.transaction_delete
db.commit / db.rollback
db.integrity / db.backup / ridge_validate_backup / ridge_restore
db.commit_stats / db.stats

La riga legacy diretta API memorizza una chiave primaria i64 e un payload sicuro a livello binario. I pacchetti relazionali e SQL forniscono righe a più colonne tipizzate di seconda generazione. Scegli un percorso dati coerente per un'applicazione anziché mescolare presupposti di visibilità legacy e relazionale.

Proprietà ed errori

Usa il seed-lang abilità insieme a ridgedb quando un agente AI scrive o recensisce .sd codice.

Osservabilità

db.commit_stats() restituisce contatori per commit WAL, pagina, cache, split/merge, riutilizzo, I/O, sincronizzazione, allocazione e gestione temporanea. db.stats() restituisce le statistiche cumulative del buffer di proprietà del motore e della cache dall'apertura. Interpretateli come diagnostica locale, non come telemetria della flotta.