services/storage/db

Database connection helpers. Thin wrappers around sqlight. Path resolution (e.g. ~ expansion) is handled by config.gleam before the path reaches this module.

Values

pub fn checkpoint_wal(
  conn: sqlight.Connection,
) -> Result(Nil, String)

Execute PRAGMA wal_checkpoint(TRUNCATE).

pub fn close(conn: sqlight.Connection) -> Result(Nil, String)

Close a database connection.

pub fn open(path: String) -> Result(sqlight.Connection, String)

Open a SQLite database at the given path.

pub fn pragma_integrity_check(
  conn: sqlight.Connection,
) -> Result(String, String)

Run PRAGMA integrity_check and return the result string.

pub fn service(path: String) -> shapes.Service

Service shape — supervised: True. The supervisor (Wave 4) wraps this in an actor for OTP lifecycle management. Here, start validates the DB path and health checks integrity.

pub fn write_with_retry(
  conn: sqlight.Connection,
  sql: String,
  with params: List(sqlight.Value),
) -> Result(Nil, String)

Execute a write SQL statement with retry on SQLITE_BUSY.

Search Document