Skip to content

vow-mysql

vow-mysql MySQL client — DSN builder, connect, query, exec, and DbError handling. Install with vpm:

Terminal window
curl -fsSL https://install.vowlang.dev | sh
export PATH="$HOME/.local/bin:$PATH"
vpm add vow-mysql
vpm install
import vmysql from vow_mysql
fn list_widgets(cap: Db, url: String) -> int needs Db {
let conn = match vmysql.connect(cap, url) {
Ok(c) => c,
Err(e) => return e.code,
};
let rows = match vmysql.query(conn, "SELECT id, name FROM widgets") {
Ok(r) => r,
Err(e) => { let _ = vmysql.close(conn); return e.code; },
};
let _ = vmysql.close(conn);
print rows;
return 0;
}
fn main(caps: Caps) -> int {
let url = vmysql.dsn("localhost", 3306, "app", "widgets");
return match caps.db {
Some(cap) => with cap { list_widgets(cap, url) },
None => 0 - 1,
};
}
Terminal window
cd vow-libs/vow-mysql && vow test tests/mysql.vow -- --grant db:mem:mysql