2025-05-11 14:48:27 +05:00

33 lines
837 B
JavaScript

const Transaction = require('../../execution/transaction');
module.exports = class Redshift_Transaction 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 ${trxMode};`);
}
savepoint(conn) {
this.trxClient.logger('Redshift does not support savepoints.');
return Promise.resolve();
}
release(conn, value) {
this.trxClient.logger('Redshift does not support savepoints.');
return Promise.resolve();
}
rollbackTo(conn, error) {
this.trxClient.logger('Redshift does not support savepoints.');
return Promise.resolve();
}
};