1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! 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](https://sqlite.org/json1.html) for details.
//!
//! # Example
//!
//! ```rust,ignore
//! 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?;
//! ```
pub use SqliteConnectionManager;
pub use ;
pub use SqliteError;
pub use SqliteValue;