Ridge Integrado API

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

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 útil 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.