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();
// 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) {