Отменить дополнительный комплект, сохранив основной резерв

Ответы получены от MySQL через X Protocol. Учебные коллекции после чтения удалены.

Наблюдаемый результат программы
НаблюдениеРезультат
Имя точки откатаmain_reserved
Основной резерв сохранёнда
Дополнительный резерв отсутствуетда
Остаток ламп0
Остаток комплектующих2
Основной резерв был доступен до commitда
Документы и дополнительные наблюдения
{
    "savepoint": "main_reserved",
    "rollback_return_type": "mysql_xdevapi\\SqlStatementResult",
    "release_return_type": "mysql_xdevapi\\SqlStatementResult",
    "inside_before_commit": {
        "main": {
            "_id": "RES-MAIN",
            "qty": 1,
            "kind": "reservation",
            "product": "LED-1"
        },
        "option": null,
        "clip": {
            "_id": "CLIP-1",
            "kind": "product",
            "stock": 2
        }
    },
    "main_after_commit": {
        "_id": "RES-MAIN",
        "qty": 1,
        "kind": "reservation",
        "product": "LED-1"
    },
    "option_after_commit": null,
    "lamp_after_commit": {
        "_id": "LED-1",
        "kind": "product",
        "stock": 0
    },
    "clip_after_commit": {
        "_id": "CLIP-1",
        "kind": "product",
        "stock": 2
    }
}

Полный JSON результата, включая реальные идентификаторы, сохранён рядом в result.json.