fix(libSql): support useTransaction flag for scripts

This commit is contained in:
Nybkox
2025-03-13 09:44:39 +01:00
parent dfe4d2811a
commit fb709c9eb0

View File

@@ -97,14 +97,21 @@ const libsqlDriver = {
options.done(); options.done();
// return stream; // return stream;
}, },
async script(dbhan, sql) { async script(dbhan, sql, { useTransaction }) {
const inTransaction = dbhan.client.transaction(() => { const runScript = () => {
for (const sqlItem of splitQuery(sql, this.getQuerySplitterOptions('script'))) { for (const sqlItem of splitQuery(sql, this.getQuerySplitterOptions('script'))) {
const stmt = dbhan.client.prepare(sqlItem); const stmt = dbhan.client.prepare(sqlItem);
stmt.run(); stmt.run();
} }
}); };
inTransaction();
if (useTransaction) {
dbhan.client.transaction(() => {
runScript();
})();
} else {
runScript();
}
}, },
async readQueryTask(stmt, pass) { async readQueryTask(stmt, pass) {