comptime sql bindings for zig
ziglang sql
Zig 100.0%
2 1 0

Clone this repository

https://tangled.org/zzstoatzz.io/zql https://tangled.org/did:plc:xbtmt2zjwlrfegqvch7fboei/zql
git@tangled.org:zzstoatzz.io/zql git@tangled.org:did:plc:xbtmt2zjwlrfegqvch7fboei/zql

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

zql#

comptime sql ergonomics for zig.

features#

  • named parameters: :name syntax with comptime validation
  • column extraction: parse SELECT columns at comptime
  • zero runtime overhead: all parsing happens at compile time

usage#

const zql = @import("zql");

// query metadata extracted at comptime
const Q = zql.parse.Query("SELECT id, name, age FROM users WHERE age > :min_age");

// access parsed info
_ = Q.raw;        // original sql
_ = Q.positional; // "SELECT id, name, age FROM users WHERE age > ?"
_ = Q.params;     // ["min_age"]
_ = Q.columns;    // ["id", "name", "age"]

// validate args struct has required params (comptime error if missing)
Q.validateArgs(struct { min_age: i64 });

install#

// build.zig.zon
.dependencies = .{
    .zql = .{
        .url = "https://github.com/zzstoatzz/zql/archive/main.tar.gz",
    },
},

status#

early development. contributions welcome.