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.
This commit is contained in:
Lê Tấn Thắng
2026-07-20 12:08:58 +07:00
committed by decolua
parent c97963c4fb
commit 4f48ab8c7f
+3 -3
View File
@@ -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 {} },