From fb709c9eb0882cdf56283dc59ce83665a71c11d4 Mon Sep 17 00:00:00 2001 From: Nybkox Date: Thu, 13 Mar 2025 09:44:39 +0100 Subject: [PATCH] fix(libSql): support useTransaction flag for scripts --- .../src/backend/driver.libsql.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/plugins/dbgate-plugin-sqlite/src/backend/driver.libsql.js b/plugins/dbgate-plugin-sqlite/src/backend/driver.libsql.js index 6f93adea5..c27266251 100644 --- a/plugins/dbgate-plugin-sqlite/src/backend/driver.libsql.js +++ b/plugins/dbgate-plugin-sqlite/src/backend/driver.libsql.js @@ -97,14 +97,21 @@ const libsqlDriver = { options.done(); // return stream; }, - async script(dbhan, sql) { - const inTransaction = dbhan.client.transaction(() => { + async script(dbhan, sql, { useTransaction }) { + const runScript = () => { for (const sqlItem of splitQuery(sql, this.getQuerySplitterOptions('script'))) { const stmt = dbhan.client.prepare(sqlItem); stmt.run(); } - }); - inTransaction(); + }; + + if (useTransaction) { + dbhan.client.transaction(() => { + runScript(); + })(); + } else { + runScript(); + } }, async readQueryTask(stmt, pass) {