Перейти к основному содержанию
Перейти к основному содержанию

Пакеты сервера

valuenamedescription
0HelloОтвет сервера при установлении соединения
1DataТо же, что и данные клиента
2ExceptionИсключение при обработке запроса
3ProgressПрогресс выполнения запроса
4PongОтвет на ping
5EndOfStreamВсе пакеты были переданы
6ProfileInfoДанные профилирования
7TotalsИтоговые значения
8ExtremesЭкстремальные значения (min, max)
9TablesStatusResponseОтвет на запрос TableStatus
10LogСистемный лог запроса
11TableColumnsОписание столбцов
12UUIDsСписок идентификаторов уникальных частей
13ReadTaskRequestСтрока (UUID), описывающая запрос, для которого нужна следующая задача
14ProfileEventsПакет с событиями профилирования от сервера

Data, Totals и Extremes могут передаваться в сжатом виде.

Hello

Ответ на client hello.

fieldtypevaluedescription
nameStringClickHouseИмя сервера
version_majorUVarInt21Основная версия сервера
version_minorUVarInt12Минорная версия сервера
revisionUVarInt54452Ревизия сервера
tzStringEurope/MoscowЧасовой пояс сервера
display_nameStringClickHouseИмя сервера для интерфейса
version_patchUVarInt3Патч-версия сервера

Исключение

Исключение на сервере во время обработки запроса.

fieldtypevaluedescription
codeInt3260См. ErrorCodes.cpp.
nameStringDB::ExceptionИмя исключения
messageStringDB::Exception: Table X doesn't existТекст сообщения об ошибке
stack_traceString~Стек вызовов C++
nestedBooltrueНаличие вложенных ошибок

Может быть цепочкой исключений до тех пор, пока значение nested не станет false.

Прогресс

Прогресс выполнения запроса сервер периодически отправляет клиенту.

Совет

Прогресс передаётся в виде дельт. Для получения суммарных значений накапливайте их на стороне клиента.

fieldtypevaluedescription
rowsUVarInt65535Количество строк
bytesUVarInt871799Количество байт
total_rowsUVarInt0Общее число строк
wrote_rowsUVarInt0Строк, отправленных клиентом
wrote_bytesUVarInt0Байтов, отправленных клиентом

Pong

Ответ на ping клиента, без тела пакета.

Конец потока

Больше пакетов типа Data не будет отправлено, результат запроса полностью передан с сервера клиенту.

Тело пакета отсутствует.

Информация о профиле

полетип
rowsUVarInt
blocksUVarInt
bytesUVarInt
applied_limitBool
rows_before_limitUVarInt
calculated_rows_before_limitBool

Log

Блок данных с журналом сервера.

Совет

Представлен в виде блока данных из столбцов, но никогда не сжимается.

столбецтип
timeDateTime
time_microUInt32
host_nameString
query_idString
thread_idUInt64
priorityInt8
sourceString
textString

Профильные события

Блок данных с профильными событиями.

Совет

Кодируется как блок данных из столбцов, но никогда не сжимается.

Тип столбца valueUInt64 или Int64, в зависимости от ревизии сервера.

columntype
host_nameString
current_timeDateTime
thread_idUInt64
typeInt8
nameString
valueUInt64 or Int64