Skip to main content

Crate ankurah_storage_sqlite

Crate ankurah_storage_sqlite 

Source
Expand description

SQLite storage engine for Ankurah

Provides a lightweight embedded database storage option using SQLite. Sits between Sled (pure KV) and Postgres (full SQL server), offering:

  • Single-file database (portable, easy backup)
  • Full SQL query capabilities without external server
  • Native support on all platforms including mobile (iOS, Android)

§SQLite Version Requirements

This implementation requires SQLite 3.45.0 or later for JSONB support. The rusqlite crate with the “bundled” feature includes a compatible SQLite version by default. JSONB support enables:

  • jsonb() function for type-aware JSON comparisons
  • -> and ->> operators for JSON path traversal
  • Efficient JSONB storage as BLOB

See SQLite JSON documentation for details.

§Example

use ankurah_storage_sqlite::SqliteStorageEngine;

// Open a file-based database
let storage = SqliteStorageEngine::open("myapp.db").await?;

// Or use an in-memory database for testing
let storage = SqliteStorageEngine::open_in_memory().await?;

Modules§

sql_builder
SQL builder for SQLite queries

Structs§

SqliteBucket
SQLite storage bucket (collection)
SqliteConnectionManager
A wrapper around a SQLite connection that can be used with bb8
SqliteStorageEngine
SQLite storage engine

Enums§

SqliteError
SqliteValue
SQLite value wrapper for type mapping