Серверные пакеты
| значение | имя | описание |
|---|---|---|
| 0 | Привет | Ответ на рукопожатие сервера |
| 1 | Данные | То же самое, что и данные клиента |
| 2 | Исключение | Исключение обработки запроса |
| 3 | Прогресс | Прогресс запроса |
| 4 | Понг | Ответ на ping |
| 5 | КонецПотока | Все пакеты были переданы |
| 6 | ИнформацияПрофиля | Данные профилирования |
| 7 | Итоги | Общие значения |
| 8 | Экстремумы | Экстремальные значения (мин, макс) |
| 9 | ОтветСтатусаТаблицы | Ответ на запрос TableStatus |
| 10 | Лог | Системный лог запроса |
| 11 | СтолбцыТаблицы | Описание колонок |
| 12 | UUIDs | Список уникальных идентификаторов частей |
| 13 | ЗапросЧтения | Строка (UUID) описывает запрос, для которого требуется следующая задача |
| 14 | СобытияПрофиля | Пакет с событиями профилирования от сервера |
Данные, Итоги и Экстремумы могут быть сжаты.
Привет
Ответ на привет клиента.
| поле | тип | значение | описание |
|---|---|---|---|
| имя | String | Clickhouse | Имя сервера |
| версия_major | UVarInt | 21 | Главная версия сервера |
| версия_minor | UVarInt | 12 | Побочная версия сервера |
| ревизия | UVarInt | 54452 | Ревизия сервера |
| tz | String | Europe/Moscow | Часовой пояс сервера |
| display_name | String | Clickhouse | Имя сервера для UI |
| версия_patch | UVarInt | 3 | Патч-версия сервера |
Исключение
Исключение сервера при обработке запроса.
| поле | тип | значение | описание |
|---|---|---|---|
| код | Int32 | 60 | См. ErrorCodes.cpp. |
| имя | String | DB::Exception | Главная версия сервера |
| сообщение | String | DB::Exception: Таблица X не существует | Побочная версия сервера |
| стек_трейс | String | ~ | Стек вызовов C++ |
| вложенный | Bool | true | Более ошибки |
Может быть непрерывный список исключений, пока вложенный не станет false.
Прогресс
Прогресс выполнения запроса периодически сообщается сервером.
подсказка
Прогресс сообщается в дельтах. Для итогов аккумулируйте его на клиенте.
| поле | тип | значение | описание |
|---|---|---|---|
| строки | UVarInt | 65535 | Количество строк |
| байты | UVarInt | 871799 | Количество байтов |
| всего_строк | UVarInt | 0 | Общее количество строк |
| написано_строк | UVarInt | 0 | Строки от клиента |
| написано_байт | UVarInt | 0 | Байты от клиента |
Понг
Ответ на ping клиента, без тела пакета.
Конец потока
Больше не будет отправлено пакетов Данные, результат запроса полностью передан от сервера к клиенту.
Без тела пакета.
Информация профиля
| поле | тип |
|---|---|
| строки | UVarInt |
| блоки | UVarInt |
| байты | UVarInt |
| применённый_лимит | Bool |
| строки_до_лимита | UVarInt |
| посчитанные_строки_до_лимита | Bool |
Лог
Блок данных с логом сервера.
подсказка
Закодировано как блок данных колонок, но никогда не сжимается.
| колонка | тип |
|---|---|
| время | DateTime |
| время_микро | UInt32 |
| имя_хоста | String |
| id_запроса | String |
| id_потока | UInt64 |
| приоритет | Int8 |
| источник | String |
| текст | String |
События профиля
Блок данных с событиями профилирования.
подсказка
Закодировано как блок данных колонок, но никогда не сжимается.
Тип value - UInt64 или Int64, в зависимости от ревизии сервера.
| колонка | тип |
|---|---|
| имя_хоста | String |
| текущее_время | DateTime |
| id_потока | UInt64 |
| тип | Int8 |
| имя | String |
| значение | UInt64 или Int64 |