OrientDB: сбой в пакетном скрипте не откатывается
begin;
let t = create Vertex Ticket set ticketType = "premium"
create edge For from $t to #42:1;
create edge At from $t to #37:0;
create edge Created from #46:1 to $t;
commit;
В приведенном выше пакетном сценарии при создании края "Создано" (оператор № 5) запись № 46:1 не найдена (удалена), поэтому создается исключение. Как в этом случае откатить транзакцию?
PS: я использую библиотеку orientjs
1 ответ
Инициализируйте транзакцию в сеансе, затем выполните пакетное обновление (без начала и фиксации) и выполните фиксацию или откат.
try {
session.begin()
await session.batch(...)
session.commit(..)
} catch (e) {
session.tx().rollback();
}