Ridge Intégré API

Utilisez le package ridge Grove lorsqu'un processus seed doit posséder la base de données. Le handle de base de données est une ressource de déplacement uniquement avec un nettoyage déterministe.

Application minimale

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)
}

Exécutez les vérifications actuelles du compilateur seed avant de copier un exemple dans une application :

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

Opérations de base

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 ligne héritée directe API stocke une clé primaire i64 et une charge utile binaire sécurisée. Les packages relationnels et SQL fournissent des lignes multicolonnes typées de génération 2. Choisissez un chemin de données cohérent pour une application plutôt que de mélanger des hypothèses de visibilité héritées et relationnelles.

Propriété et erreurs

Utilisez le seed-lang compétence avec ridgedb lorsqu'un agent IA écrit ou révise .sd code.

Observabilité

db.commit_stats() renvoie les compteurs WAL, page, cache, split/merge, réutilisation, I/O, synchronisation, allocation et transfert par validation. db.stats() renvoie les statistiques cumulées du cache et du tampon appartenant au moteur depuis l'ouverture. Interprétez-les comme des diagnostics locaux et non comme une télémétrie de flotte.