Ответы получены от MySQL через X Protocol. Учебные коллекции после чтения удалены.
Документы и дополнительные наблюдения
{
"generated_name": "SAVEPOINT1",
"first_named": "stage",
"repeated_named": "stage",
"rollback_return_type": "mysql_xdevapi\\SqlStatementResult",
"second_rollback_return_type": "mysql_xdevapi\\SqlStatementResult",
"release_return_type": "mysql_xdevapi\\SqlStatementResult",
"after_named_rollback": {
"_id": "CARD-1",
"stock": 2
},
"later_exception_chain": [
{
"class": "mysql_xdevapi\\Exception",
"code": 10000,
"message": "[HY000] Couldn't fetch data"
},
{
"class": "mysql_xdevapi\\Exception",
"code": 1305,
"message": "[42000] SAVEPOINT later does not exist"
}
],
"released_exception_chain": [
{
"class": "mysql_xdevapi\\Exception",
"code": 10000,
"message": "[HY000] Couldn't fetch data"
},
{
"class": "mysql_xdevapi\\Exception",
"code": 1305,
"message": "[42000] SAVEPOINT stage does not exist"
}
],
"after_repeat_rollback": {
"_id": "CARD-1",
"stock": 2
},
"inside_after_release": {
"_id": "CARD-1",
"stock": 2
},
"outside_after_release": {
"_id": "CARD-1",
"stock": 5
},
"after_full_rollback": {
"_id": "CARD-1",
"stock": 5
}
}
Полный JSON результата, включая реальные идентификаторы, сохранён рядом в result.json.