Ridge Integrado API

<!-- verified-against: seed-llvm; examples: docs-examples-test -->

Use o pacote ridge Grove quando um processo seed for proprietário do banco de dados. O identificador do banco de dados é um recurso somente de movimentação com limpeza determinística.

Aplicação mínima

O diretório base deve existir antes de ridge_open:

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

fn main() -> Result<i64, RidgeError> {
    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) => { stdout_write_format(f"row={row.id}").or_abort() }
        None => { stdout_write("not found".bytes()).or_abort() }
    }
    Ok(0)
}

Execute as verificações atuais do compilador seed antes de copiar um exemplo em um aplicativo:

./seed/seed check path/to/application
./seed/seed run path/to/application

Observações: o orçamento max_row de uma tabela não pode exceder o teto de linhas relacionais (RIDGE_RELATIONAL_ROW_LIMIT, 2600); create_table em uma tabela existente falha com table_exists, portanto, executar novamente o exemplo na mesma raiz de dados requer um novo diretório ou um nome de tabela diferente.

Operações principais

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

A linha herdada direta API armazena uma chave primária i64 e uma carga binária segura. Os pacotes relacional e SQL fornecem linhas de múltiplas colunas digitadas na geração 2. Escolha um caminho de dados coerente para um aplicativo em vez de misturar suposições de visibilidade herdadas e relacionais.

Propriedade e erros

Use o seed-lang habilidade junto com ridgedb quando um agente de IA escreve ou revisa .sd código.

Observabilidade

db.commit_stats() retorna por commit WAL, página, cache, split/merge, reutilizar, I/O, sincronização, alocação e contadores de preparação. db.stats() retorna cache cumulativo e estatísticas de buffer de propriedade do mecanismo desde a abertura. Interprete-os como diagnósticos locais, não como telemetria da frota.