SQL/SQLite Library

Native SQLite support with prepared statements, parameter binding, secure DB locking, and safe defaults. The `db` module is a naming alias over the same runtime.

Core API

import sql

var db = sql::open("app.db")
sql::execute(db, "CREATE TABLE IF NOT EXISTS users(id INTEGER PRIMARY KEY, name TEXT)", [])
sql::execute(db, "INSERT INTO users(name) VALUES (?)", ["Ada"])
var rows = sql::query(db, "SELECT id, name FROM users WHERE name = ?", ["Ada"])
display rows
sql::close(db)

`db` Alias API

import db

var h = db::open("app.db")
db::execute(h, "CREATE TABLE IF NOT EXISTS logs(id INTEGER PRIMARY KEY, msg TEXT)", [])
var rows = db::query(h, "SELECT id, msg FROM logs", [])
display rows
db::close(h)

Security API

import sql
import password

var db = sql::open("secure.db")
var master = password::promptCli("Master password:", "bullet")
sql::initSecure(db, master)

var entered = password::promptCli("Unlock password:", "mask")
var unlocked = sql::unlock(db, entered)
display unlocked
SQL operations use bound parameters (`?`) to prevent injection-prone string concatenation.