Отличить нехватку товара от сломанного SQL и сохранить причину

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

Наблюдаемый результат программы
НаблюдениеРезультат
Первый резерв: изменено строк1
Остаток Cable после резерва1
Второй UPDATE успешно выполнилсяда
Второй резерв: изменено строк0
Запрос неизвестного поля вернул falseда
Сохранённый SQLCODE-206
Сообщение указывает неизвестное поледа
После исправленного чтения ошибки больше нетда
Строки и дополнительные наблюдения
{
    "first_affected": 1,
    "second_return": true,
    "second_affected": 0,
    "stored": [
        {
            "TITLE": "Cable",
            "QTY": 1
        }
    ],
    "saved_error": {
        "code": -206,
        "warning": true,
        "message_present": true,
        "mentions_field": true
    },
    "current_code": false,
    "current_message": false,
    "raw_error_published": false
}

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