Когда я пытаюсь выполнить откат внутри транзакции:
const client = await pool.connect()
try {
await client.query('BEGIN')
const result = await client.query('SELECT...')
if (result) { await client.query('ROLLBACK') } //DOESN'T WORK
if (result) { throw new Error() }//WORKS. WHY?
(...)
await client.query('COMMIT')
}
catch (e) {
await client.query('ROLLBACK')
}
finally {
client.release()
}
Почему откат работает только тогда, когда выдается исключение?