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

La directory di base deve esistere prima di ridge_open:

mkdir -p data/app
use "ridge"
use "io"

fn main() -> result<i64, ridge_error> {
    let mut db = ridge_open("data/app", 4096 as usize)?
    db.create_table("items", 1024 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) => { let _w = stdout_write_format(f"row={row.id}") }
        none => { let _w = stdout_write("not found".bytes()) }
    }
    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 run path/to/application

Note: il budget max_row di una tabella non può superare il limite massimo della riga relazionale (RIDGE_RELATIONAL_ROW_LIMIT, 2600); create_table su una tabella esistente ha esito negativo con table_exists, quindi eseguire nuovamente l'esempio sulla stessa radice dati richiede una nuova directory o un nome di tabella diverso.

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.