From 4f48ab8c7f00193b4f1d1741f9a8bb701c973af0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=AA=20T=E1=BA=A5n=20Th=E1=BA=AFng?= Date: Mon, 20 Jul 2026 12:07:28 +0700 Subject: [PATCH] fix: resolve better-sqlite3 parameter array binding crash Spread params into better-sqlite3 Statement.run/get/all so positional ? placeholders bind correctly. better-sqlite3 accepts positional args, not an array, so binding crashed whenever a query had parameters. Matches the bun:sqlite and node:sqlite adapters. --- src/lib/db/adapters/betterSqliteAdapter.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/db/adapters/betterSqliteAdapter.js b/src/lib/db/adapters/betterSqliteAdapter.js index 4fc8a0ed..70a55a5f 100644 --- a/src/lib/db/adapters/betterSqliteAdapter.js +++ b/src/lib/db/adapters/betterSqliteAdapter.js @@ -40,9 +40,9 @@ export function createBetterSqliteAdapter(filePath) { return { driver: "better-sqlite3", - run(sql, params = []) { return prepare(sql).run(params); }, - get(sql, params = []) { return prepare(sql).get(params); }, - all(sql, params = []) { return prepare(sql).all(params); }, + run(sql, params = []) { return prepare(sql).run(...params); }, + get(sql, params = []) { return prepare(sql).get(...params); }, + all(sql, params = []) { return prepare(sql).all(...params); }, exec(sql) { return db.exec(sql); }, transaction(fn) { return db.transaction(fn)(); }, checkpoint() { try { db.pragma("wal_checkpoint(TRUNCATE)"); } catch {} },