SCHEMA_V1

Constant SCHEMA_V1 

Source
pub const SCHEMA_V1: &str = "
    CREATE TABLE IF NOT EXISTS meta (
        key   TEXT PRIMARY KEY,
        value TEXT NOT NULL
    );

    CREATE TABLE IF NOT EXISTS raw (
        id           INTEGER PRIMARY KEY AUTOINCREMENT,
        ts_ms        INTEGER NOT NULL,
        listener     TEXT NOT NULL,
        route        TEXT NOT NULL,
        consumer     TEXT NOT NULL,
        upstream     TEXT NOT NULL,
        method       TEXT NOT NULL,
        status       INTEGER NOT NULL,
        status_class TEXT NOT NULL,
        duration_ms  REAL NOT NULL,
        attempts     INTEGER NOT NULL,
        rate_limited INTEGER NOT NULL,
        broken       INTEGER NOT NULL,
        shed         INTEGER NOT NULL,
        dims         TEXT NOT NULL DEFAULT '{}'
    );
    CREATE INDEX IF NOT EXISTS idx_raw_ts ON raw(ts_ms);

    CREATE TABLE IF NOT EXISTS rollup_fixed (
        gran           INTEGER NOT NULL,
        window_start   INTEGER NOT NULL,
        listener       TEXT NOT NULL,
        route          TEXT NOT NULL,
        upstream       TEXT NOT NULL,
        consumer       TEXT NOT NULL,
        method         TEXT NOT NULL,
        status_class   TEXT NOT NULL,
        requests       INTEGER NOT NULL,
        errors         INTEGER NOT NULL,
        rate_limited   INTEGER NOT NULL,
        shed           INTEGER NOT NULL,
        duration_sum_ms REAL NOT NULL,
        duration_max_ms REAL NOT NULL,
        b0  INTEGER NOT NULL, b1  INTEGER NOT NULL, b2  INTEGER NOT NULL,
        b3  INTEGER NOT NULL, b4  INTEGER NOT NULL, b5  INTEGER NOT NULL,
        b6  INTEGER NOT NULL, b7  INTEGER NOT NULL, b8  INTEGER NOT NULL,
        b9  INTEGER NOT NULL, b10 INTEGER NOT NULL, b11 INTEGER NOT NULL,
        b12 INTEGER NOT NULL,
        PRIMARY KEY (gran, window_start, listener, route, upstream,
                     consumer, method, status_class)
    ) WITHOUT ROWID;

    CREATE TABLE IF NOT EXISTS rollup_dim (
        gran            INTEGER NOT NULL,
        window_start    INTEGER NOT NULL,
        dim             TEXT NOT NULL,
        value           TEXT NOT NULL,
        requests        INTEGER NOT NULL,
        errors          INTEGER NOT NULL,
        duration_sum_ms REAL NOT NULL,
        b0  INTEGER NOT NULL, b1  INTEGER NOT NULL, b2  INTEGER NOT NULL,
        b3  INTEGER NOT NULL, b4  INTEGER NOT NULL, b5  INTEGER NOT NULL,
        b6  INTEGER NOT NULL, b7  INTEGER NOT NULL, b8  INTEGER NOT NULL,
        b9  INTEGER NOT NULL, b10 INTEGER NOT NULL, b11 INTEGER NOT NULL,
        b12 INTEGER NOT NULL,
        PRIMARY KEY (gran, window_start, dim, value)
    ) WITHOUT ROWID;
";
Expand description

The full v1 DDL. Idempotent (IF NOT EXISTS) so a fresh database and a re-run both land at version 1. Connection-level pragmas (WAL, synchronous, auto_vacuum) are applied at open time — several of them return rows and cannot live in an execute_batch.