{
    "id": "fb154-update-outcome",
    "title": "Зарезервировать товар и отличить отсутствие остатка от ошибки SQL",
    "columns": [
        "Наблюдение",
        "Результат"
    ],
    "rows": [
        [
            "Начальный остаток",
            3
        ],
        [
            "Запрошено в каждом резервировании",
            2
        ],
        [
            "Первый UPDATE вернул число 1",
            true
        ],
        [
            "Первый UPDATE: изменено строк",
            1
        ],
        [
            "Второй UPDATE вернул true",
            true
        ],
        [
            "Второй UPDATE: изменено строк",
            0
        ],
        [
            "Остаток после двух запросов",
            1
        ],
        [
            "Второй запрос является ошибкой SQL",
            false
        ]
    ],
    "checks": {
        "first_return": true,
        "first_affected": true,
        "second_success_without_change": true,
        "second_affected_zero": true,
        "stock_never_negative": true,
        "positive_quantity": true,
        "owned_objects_removed": true
    },
    "observations": {
        "initial_stock": 3,
        "quantity": 2,
        "first_return": 1,
        "first_affected": 1,
        "second_return": true,
        "second_affected": 0,
        "final_stock": 1,
        "conditional_update": true,
        "selection_of_all_rows": false,
        "separate_requests_committed": 2
    },
    "runtime": {
        "php": "8.2.35",
        "extension": "3.0.1",
        "server_version": "5.0.4",
        "database": "phpmanual153",
        "transport": "embedded_local_file"
    },
    "owned_objects": [
        {
            "type": "TABLE",
            "name": "FB154_OUTCOME_6267661D98"
        }
    ],
    "removed_objects": [
        {
            "type": "TABLE",
            "name": "FB154_OUTCOME_6267661D98"
        }
    ]
}
