{
    "id": "pdo180-copy-file-atomic",
    "title": "Применить файл остатков целиком или оставить прежний каталог",
    "columns": [
        "Наблюдение",
        "Результат"
    ],
    "rows": [
        [
            "Плохой файл",
            "SUP-42: -1 отклонён; CHECK, SQLSTATE 23514"
        ],
        [
            "После rollback",
            "SUP-41 Кабель: 3; SUP-42 Хомут: 0; входная таблица пуста"
        ],
        [
            "Исправленный файл",
            "SUP-41 Кабель: 3 → 8; SUP-42 Хомут: 0 → 4"
        ],
        [
            "Квитанция",
            "import-receipt.csv: оба SKU со статусом APPLIED"
        ]
    ],
    "checks": {
        "bad_file_rejected": true,
        "earlier_change_rolled_back": true,
        "no_partial_staging": true,
        "corrected_file_accepted": true,
        "catalog_updated": true,
        "transaction_finished": true,
        "owned_objects_removed": true
    },
    "observations": {
        "before": [
            {
                "sku": "SUP-41",
                "title": "Кабель",
                "qty": 3
            },
            {
                "sku": "SUP-42",
                "title": "Хомут",
                "qty": 0
            }
        ],
        "after_failed_import": [
            {
                "sku": "SUP-41",
                "title": "Кабель",
                "qty": 3
            },
            {
                "sku": "SUP-42",
                "title": "Хомут",
                "qty": 0
            }
        ],
        "after_commit": [
            {
                "sku": "SUP-41",
                "title": "Кабель",
                "qty": 8
            },
            {
                "sku": "SUP-42",
                "title": "Хомут",
                "qty": 4
            }
        ],
        "failure": {
            "state": "23514",
            "message_present": true
        },
        "staging_rows_after_rollback": 0,
        "receipt": [
            [
                "sku",
                "before_qty",
                "after_qty",
                "status"
            ],
            [
                "SUP-41",
                3,
                8,
                "APPLIED"
            ],
            [
                "SUP-42",
                0,
                4,
                "APPLIED"
            ]
        ]
    },
    "runtime": {
        "php": "8.5.11",
        "extension": "8.5.11",
        "pdo": "8.5.11",
        "driver": "pgsql",
        "server_version": "18.6",
        "client": "16.15",
        "database": "phpmanual180",
        "transport": "loopback_tcp"
    },
    "owned_objects": [
        {
            "type": "TABLE",
            "name": "pdo180_catalog_8cecf6c864f1"
        },
        {
            "type": "TABLE",
            "name": "pdo180_incoming_4b62933c8af2"
        }
    ],
    "removed_objects": [
        {
            "type": "TABLE",
            "name": "pdo180_incoming_4b62933c8af2"
        },
        {
            "type": "TABLE",
            "name": "pdo180_catalog_8cecf6c864f1"
        }
    ]
}
