Выдать новый ID и увидеть, почему rollback оставляет пропуск

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

Наблюдаемый результат программы
НаблюдениеРезультат
Начальное значение своей последовательности0
ID отменённой записи1
Строк с отменённым ID после rollback0
Счётчик после rollback1
Следующий выданный ID2
Сохранённый товарНовый товар
ID сохранённого товара2
Число сохранённых товаров1
Rollback вернул номер в последовательностьнет
Строки и дополнительные наблюдения
{
    "initial": 0,
    "allocated_before_rollback": 1,
    "current_after_rollback": 1,
    "cancelled_rows": 0,
    "next": 2,
    "stored": [
        {
            "ID": 2,
            "TITLE": "Новый товар"
        }
    ],
    "generator_name_from_request": false,
    "sequence_reset_attempted": false,
    "guaranteed_gapless": false
}

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