Отменить пакет изменения каталога при дублирующемся ключе

Фактические данные получены через расширение interbase от отдельной локальной базы Firebird. Собственная учебная таблица удалена после наблюдений.

Наблюдаемый результат программы
НаблюдениеРезультат
Цена до пакета, коп.2500
Цена внутри транзакции после UPDATE, коп.2000
Первая команда изменила строк1
Вторая команда вернула falseда
Код нарушения уникальности-803
Весь пакет явно отменёнда
Цена после rollback, коп.2500
Товаров после rollback1
Строки и дополнительные наблюдения
{
    "price_before": 2500,
    "price_inside_transaction": 2000,
    "first_affected": 1,
    "duplicate_return": false,
    "duplicate_error_code": -803,
    "duplicate_message_present": true,
    "raw_error_text_published": false,
    "explicit_rollback": true,
    "commits_for_business_batch": 0,
    "stored_rows_after": [
        {
            "ID": 1,
            "TITLE": "Кабель",
            "PRICE_KOPECKS": 2500
        }
    ]
}

Самостоятельный запуск создаёт result.json с данными и metrics.json с проверками рядом с example.php.