drizzle 0.1.16

A type-safe SQL query builder for Rust
Documentation
[
  {
    "version": "v1",
    "id": "drizzle-rs-libsql",
    "display": {
      "name": "Drizzle RS libSQL",
      "description": "drizzle-rs select builder on every route via the async libSQL driver; file-backed temp database with journal_mode=WAL"
    },
    "group": "drizzle-rs",
    "lang": "rust",
    "runtime": {
      "name": "rust",
      "ver": "1.95.0"
    },
    "orm": {
      "name": "drizzle-rs",
      "ver": "0.1.15"
    },
    "driver": {
      "name": "libsql",
      "ver": "0.9.30",
      "transport": "embedded"
    },
    "proc": {
      "mode": "single",
      "workers": 1
    },
    "pool": {
      "max": 8,
      "min": 1,
      "acquire_ms": 50
    },
    "db": {
      "profile": "sqlite",
      "hash": "sha256:7bd4286ec47f86445e5ef9f6cc6357a27974cb8313766444fa5cbeff8eb83d43",
      "prepared": true
    },
    "wire": {
      "format": "json"
    },
    "fair": {
      "family": "libsql",
      "workers": 1,
      "pool": 8,
      "db": "sqlite",
      "schema": "sha256:67d569fc52dca6de6f2747867f2e7abe8f4cc736f2c2454f9da5f6e78901759d",
      "contract": "v1",
      "tuning": "WAL journal, temp_store=MEMORY, read-only connections (query_only=ON), 64MiB page cache, 256MiB mmap"
    },
    "contract": {
      "ver": "v1"
    },
    "server": {
      "cmd": [
        "$BENCH_RUNNER_BIN",
        "serve"
      ]
    },
    "parity": {
      "cmd": [
        "$BENCH_RUNNER_BIN",
        "parity"
      ]
    },
    "load": {
      "cmd": [
        "$BENCH_RUNNER_BIN",
        "load"
      ]
    },
    "sql_variant": "drizzle-rs select builder on every route, including the employees self-join (table alias) and the GROUP BY aggregate on /orders-with-details — libSQL is real SQLite, so the query shapes are the rusqlite family's, not the turso family's Rust-side folding. PREPARED CAVEAT: libSQL exposes no connection-level statement cache (turso's prepare_cached has no libSQL equivalent), so `prepared` here means drizzle-rs's own single-slot MRU cache: consecutive executions of the same statement are reused, but alternating between two statements on one connection recompiles each time"
  },
  {
    "version": "v1",
    "id": "libsql-sqlite-prepared",
    "display": {
      "name": "libSQL SQLite (prepared)",
      "description": "raw libSQL baseline using the shared SQLite schema with one statement compiled per call site per pooled connection; file-backed temp database with journal_mode=WAL"
    },
    "group": "libsql",
    "lang": "rust",
    "runtime": {
      "name": "rust",
      "ver": "1.95.0"
    },
    "orm": {
      "name": "none",
      "ver": "0"
    },
    "driver": {
      "name": "libsql",
      "ver": "0.9.30",
      "transport": "embedded"
    },
    "proc": {
      "mode": "single",
      "workers": 1
    },
    "pool": {
      "max": 8,
      "min": 1,
      "acquire_ms": 50
    },
    "db": {
      "profile": "sqlite-prepared",
      "hash": "sha256:7bd4286ec47f86445e5ef9f6cc6357a27974cb8313766444fa5cbeff8eb83d43",
      "prepared": true
    },
    "wire": {
      "format": "json"
    },
    "fair": {
      "family": "libsql",
      "workers": 1,
      "pool": 8,
      "db": "sqlite",
      "schema": "sha256:67d569fc52dca6de6f2747867f2e7abe8f4cc736f2c2454f9da5f6e78901759d",
      "contract": "v1",
      "tuning": "WAL journal, temp_store=MEMORY, read-only connections (query_only=ON), 64MiB page cache, 256MiB mmap"
    },
    "contract": {
      "ver": "v1"
    },
    "server": {
      "cmd": [
        "$BENCH_RUNNER_BIN",
        "serve"
      ]
    },
    "parity": {
      "cmd": [
        "$BENCH_RUNNER_BIN",
        "parity"
      ]
    },
    "load": {
      "cmd": [
        "$BENCH_RUNNER_BIN",
        "load"
      ]
    },
    "sql_variant": "hand-written SQL; libSQL has no prepare_cached, so every statement is compiled once per pooled connection at startup and reused for the whole run. Same query shapes as the rusqlite baselines, including the GROUP BY aggregate on /orders-with-details"
  },
  {
    "version": "v1",
    "id": "libsql-sqlite-unprepared",
    "display": {
      "name": "libSQL SQLite (unprepared)",
      "description": "raw libSQL baseline using the shared SQLite schema with direct query execution; file-backed temp database with journal_mode=WAL"
    },
    "group": "libsql",
    "lang": "rust",
    "runtime": {
      "name": "rust",
      "ver": "1.95.0"
    },
    "orm": {
      "name": "none",
      "ver": "0"
    },
    "driver": {
      "name": "libsql",
      "ver": "0.9.30",
      "transport": "embedded"
    },
    "proc": {
      "mode": "single",
      "workers": 1
    },
    "pool": {
      "max": 8,
      "min": 1,
      "acquire_ms": 50
    },
    "db": {
      "profile": "sqlite-unprepared",
      "hash": "sha256:7bd4286ec47f86445e5ef9f6cc6357a27974cb8313766444fa5cbeff8eb83d43",
      "prepared": false
    },
    "wire": {
      "format": "json"
    },
    "fair": {
      "family": "libsql",
      "workers": 1,
      "pool": 8,
      "db": "sqlite",
      "schema": "sha256:67d569fc52dca6de6f2747867f2e7abe8f4cc736f2c2454f9da5f6e78901759d",
      "contract": "v1",
      "tuning": "WAL journal, temp_store=MEMORY, read-only connections (query_only=ON), 64MiB page cache, 256MiB mmap"
    },
    "contract": {
      "ver": "v1"
    },
    "server": {
      "cmd": [
        "$BENCH_RUNNER_BIN",
        "serve"
      ]
    },
    "parity": {
      "cmd": [
        "$BENCH_RUNNER_BIN",
        "parity"
      ]
    },
    "load": {
      "cmd": [
        "$BENCH_RUNNER_BIN",
        "load"
      ]
    },
    "sql_variant": "hand-written SQL through Connection::query, which compiles the statement on every call. Same query shapes as the rusqlite baselines, including the GROUP BY aggregate on /orders-with-details"
  }
]