33 lines
837 B
JavaScript
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();
|
|
}
|
|
};
|