{
    "id": "mysql144-x-table-exclusive-reservation",
    "title": "Зарезервировать последнюю единицу без второго владельца",
    "columns": [
        "Наблюдение",
        "Результат"
    ],
    "rows": [
        [
            "Первый прочитал остаток",
            1
        ],
        [
            "Обычное чтение до записи",
            1
        ],
        [
            "NOWAIT нашёл конфликт",
            "да"
        ],
        [
            "Второй прочитал после commit",
            0
        ],
        [
            "Второй создал резерв",
            "нет"
        ],
        [
            "Финальный остаток",
            0
        ],
        [
            "Владелец резерва",
            "ORDER-A"
        ]
    ],
    "checks": {
        "independent_connections": true,
        "nowait_conflict_observed": true,
        "ordinary_read_is_not_blocked": true,
        "last_item_reserved_once": true,
        "lock_builder_and_result": true,
        "owned_objects_removed": true
    },
    "observations": {
        "connection_ids": [
            76,
            77
        ],
        "first": {
            "id": 1,
            "stock": 1
        },
        "ordinary": {
            "stock": 1
        },
        "nowait_error_chain": [
            {
                "class": "mysql_xdevapi\\Exception",
                "code": 10000,
                "message": "[HY000] Couldn't fetch data"
            },
            {
                "class": "mysql_xdevapi\\Exception",
                "code": 3572,
                "message": "[HY000] Statement aborted because lock(s) could not be acquired immediately and NOWAIT is set."
            }
        ],
        "second": {
            "id": 1,
            "stock": 0,
            "reserved_by": "ORDER-A"
        },
        "saved": {
            "sku": "LED",
            "stock": 0,
            "reserved_by": "ORDER-A"
        },
        "builder_type": "mysql_xdevapi\\TableSelect",
        "result_type": "mysql_xdevapi\\RowResult"
    },
    "runtime": {
        "php": "8.3.35",
        "extension": "8.0.30",
        "server_version": 80413,
        "schema": "php_manual_x139",
        "host": "127.0.0.1",
        "port": 33140
    },
    "owned_objects": [
        {
            "type": "TABLE",
            "name": "mysql144_exclusive_stock_293685b9ef34"
        }
    ],
    "removed_objects": [
        {
            "type": "TABLE",
            "name": "mysql144_exclusive_stock_293685b9ef34"
        }
    ]
}
