#pragma once namespace NClickHouse { /// То, что передаёт сервер. namespace ServerCodes { enum { Hello = 0, /// Имя, версия, ревизия. Data = 1, /// Блок данных со сжатием или без. Exception = 2, /// Исключение во время обработки запроса. Progress = 3, /// Прогресс выполнения запроса: строк считано, байт считано. Pong = 4, /// Ответ на Ping. EndOfStream = 5, /// Все пакеты были переданы. ProfileInfo = 6, /// Пакет с профайлинговой информацией. Totals = 7, /// Блок данных с тотальными значениями, со сжатием или без. Extremes = 8, /// Блок данных с минимумами и максимумами, аналогично. Log = 10, /// Системный лог исполнения запроса. }; } /// То, что передаёт клиент. namespace ClientCodes { enum { Hello = 0, /// Имя, версия, ревизия, БД по-умолчанию. Query = 1, /** Идентификатор запроса, настройки на отдельный запрос, * информация, до какой стадии исполнять запрос, * использовать ли сжатие, текст запроса (без данных для INSERT-а). */ Data = 2, /// Блок данных со сжатием или без. Cancel = 3, /// Отменить выполнение запроса. Ping = 4, /// Проверка живости соединения с сервером. }; } /// Использовать ли сжатие. namespace CompressionState { enum { Disable = 0, Enable = 1, }; } namespace Stages { enum { Complete = 2, }; } enum class ECompressionMethodByte : ui8 { LZ4 = 0x82, ZSTD = 0x90, }; }