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.
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)
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)
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