{
    "id": "cub170-route-replace",
    "title": "Исправить одну остановку маршрута и увидеть опасность далёкой позиции",
    "columns": [
        "Наблюдение",
        "Результат"
    ],
    "rows": [
        [
            "До",
            "Склад → Клиент → Склад"
        ],
        [
            "После замены позиции 2",
            "Склад → Пункт O'Reilly → Склад"
        ],
        [
            "Проверка API: запись на позицию 5",
            "Склад → Пункт O'Reilly → Склад → NULL → Ошибочная остановка"
        ],
        [
            "После rollback",
            "Склад → Пункт O'Reilly → Склад"
        ],
        [
            "Остановок в принятом маршруте",
            3
        ]
    ],
    "checks": {
        "before": true,
        "replace_keeps_size": true,
        "utf8_apostrophe": true,
        "gap_observed": true,
        "rollback_restores": true,
        "owned_objects_removed": true
    },
    "observations": {
        "before": [
            "Склад",
            "Клиент",
            "Склад"
        ],
        "saved": [
            "Склад",
            "Пункт O'Reilly",
            "Склад"
        ],
        "discarded_gap": [
            "Склад",
            "Пункт O'Reilly",
            "Склад",
            null,
            "Ошибочная остановка"
        ],
        "restored": [
            "Склад",
            "Пункт O'Reilly",
            "Склад"
        ]
    },
    "runtime": {
        "php": "7.4.33",
        "extension": "11.2.0.0002",
        "php_extension_metadata": null,
        "server_version": "11.3.5.1274",
        "client_version": "11.2.0",
        "database": "phpmanual170",
        "transport": "isolated_loopback_broker",
        "charset": "utf-8",
        "autocommit": false
    },
    "owned_objects": [
        {
            "type": "TABLE",
            "name": "c170_seq_route_87647c6921"
        }
    ],
    "removed_objects": [
        {
            "type": "TABLE",
            "name": "c170_seq_route_87647c6921"
        }
    ]
}
