← Files RivetARCHIVED FILE
node_modules/drizzle-orm/node-sqlite/session.cjs
2.94 KB · Nov 5, 2026 · 12:09 UTC
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
let __entity_ts = require("../entity.cjs");
let __sql_sql_ts = require("../sql/sql.cjs");
let __errors_ts = require("../errors.cjs");
let __logger_ts = require("../logger.cjs");
let __sqlite_core_async_session_ts = require("../sqlite-core/async/session.cjs");
//#region src/node-sqlite/session.ts
var NodeSQLiteSession = class extends __sqlite_core_async_session_ts.SQLiteAsyncSession {
static [__entity_ts.entityKind] = "SQLJsSession";
logger;
constructor(client, dialect, relations, options = {}) {
super(dialect, "sync");
this.client = client;
this.relations = relations;
this.options = options;
this.logger = options.logger ?? new __logger_ts.NoopLogger();
}
prepareQuery(query, mode, _prepare, executeMethod, mapper, queryMetadata) {
let stmt;
try {
stmt = this.client.prepare(query.sql);
} catch (e) {
throw new __errors_ts.DrizzleQueryError(query.sql, query.params, e);
}
return new __sqlite_core_async_session_ts.SQLiteAsyncPreparedQuery("sync", executeMethod, {
all: (params) => {
stmt.setReturnArrays(mode === "arrays");
const res = stmt.all(...params);
if (mode === "objects") return res.map((row) => ({ ...row }));
return res;
},
get: (params) => {
stmt.setReturnArrays(mode === "arrays");
const res = stmt.get(...params);
if (res && mode === "objects") return { ...res };
return res;
},
run: (params) => {
stmt.setReturnArrays(false);
return stmt.run(...params);
},
values: (params) => {
stmt.setReturnArrays(true);
return stmt.all(...params);
}
}, query, mapper, mode, this.logger, void 0, queryMetadata, void 0);
}
transaction(transaction, config = {}) {
const tx = new NodeSQLiteTransaction("sync", this.dialect, this, this.relations);
this.run(__sql_sql_ts.sql.raw(`begin${config.behavior ? ` ${config.behavior}` : ""}`));
try {
const result = transaction(tx);
this.run(__sql_sql_ts.sql`commit`);
return result;
} catch (err) {
this.run(__sql_sql_ts.sql`rollback`);
throw err;
}
}
};
var NodeSQLiteTransaction = class NodeSQLiteTransaction extends __sqlite_core_async_session_ts.SQLiteAsyncTransaction {
static [__entity_ts.entityKind] = "SQLJsTransaction";
transaction(transaction) {
const savepointName = `sp${this.nestedIndex + 1}`;
const tx = new NodeSQLiteTransaction("sync", this.dialect, this.session, this._.relations, this.nestedIndex + 1);
tx.run(__sql_sql_ts.sql.raw(`savepoint ${savepointName}`));
try {
const result = transaction(tx);
tx.run(__sql_sql_ts.sql.raw(`release savepoint ${savepointName}`));
return result;
} catch (err) {
tx.run(__sql_sql_ts.sql.raw(`rollback to savepoint ${savepointName}`));
throw err;
}
}
};
//#endregion
exports.NodeSQLiteSession = NodeSQLiteSession;
exports.NodeSQLiteTransaction = NodeSQLiteTransaction;
//# sourceMappingURL=session.cjs.mapSHA-256: 852e017f5a1f6867161972cb51e6d2e8d07e966714d3c7944ae67d79ef0c4e3b