knex/lib/dialects/postgres/execution/pg-transaction.js
2023-03-29 13:59:05 +02:00

20 lines
480 B
JavaScript

const Transaction = require('../../../execution/transaction');
class Transaction_PG extends Transaction {
begin(conn) {
const trxMode = [
this.isolationLevel ? `ISOLATION LEVEL ${this.isolationLevel}` : '',
this.readOnly ? 'READ ONLY' : '',
]
.join(' ')
.trim();
if (trxMode.length === 0) {
return this.query(conn, 'BEGIN;');
}
return this.query(conn, `BEGIN TRANSACTION ${trxMode};`);
}
}
module.exports = Transaction_PG;