Различить строки SELECT, квитанцию записи и созданный ID

Ответы получены от MySQL через X Protocol. Созданные программой таблицы и представления после чтения удалены.

Наблюдаемый результат программы
НаблюдениеРезультат
INSERT добавил строк1
INSERT имеет строку для чтениянет
Полученный ID позволил прочитать LEDда
SELECT имеет строку до fetchOneда
Прочитанное названиеСветильник
SELECT имеет строку после fetchOneнет
fetchAll после fetchOne: строк в буфере1
Пустой SELECT имеет строкунет
Пустой SELECT вернул массивда
UPDATE отсутствующего артикула изменил строк0
Строки и дополнительные наблюдения
{
    "last_insert_id": 1,
    "last_insert_id_type": "int",
    "readback": {
        "id": 1,
        "sku": "LED",
        "name": "Светильник"
    },
    "insert_type": "mysql_xdevapi\\SqlStatementResult",
    "select_type": "mysql_xdevapi\\SqlStatementResult",
    "update_type": "mysql_xdevapi\\SqlStatementResult",
    "insert_has_data": false,
    "select_has_data_before": true,
    "select_has_data_after": false,
    "empty_select_has_data": false,
    "empty_rows": [],
    "missing_update_affected": 0
}

Полный JSON результата, включая реальные идентификаторы, сохранён рядом в result.json.