| valor | nombre | descripción |
|---|
| 0 | Hello | Respuesta de saludo del servidor |
| 1 | Data | Igual que datos del cliente |
| 2 | Exception | Excepción durante el procesamiento de la consulta |
| 3 | Progress | Progreso de la consulta |
| 4 | Pong | Respuesta a Ping |
| 5 | EndOfStream | Se transfirieron todos los paquetes |
| 6 | ProfileInfo | Datos de perfilado |
| 7 | Totals | Valores totales |
| 8 | Extremes | Valores extremos (mín., máx.) |
| 9 | TablesStatusResponse | Respuesta a la solicitud de TableStatus |
| 10 | Log | Log del sistema de consultas |
| 11 | TableColumns | Descripción de las columnas |
| 12 | UUIDs | Lista de identificadores únicos de partes |
| 13 | ReadTaskRequest | String (UUID) que describe una solicitud para la que se necesita la siguiente tarea |
| 14 | ProfileEvents | Paquete con eventos de perfil del servidor |
Los paquetes Data, Totals y Extremes pueden comprimirse.
Respuesta a client hello.
| campo | tipo | valor | descripción |
|---|
| name | String | Clickhouse | Nombre del servidor |
| version_major | UVarInt | 21 | Versión principal del servidor |
| version_minor | UVarInt | 12 | Versión secundaria del servidor |
| revision | UVarInt | 54452 | Revisión del servidor |
| tz | String | Europe/Moscow | Zona horaria del servidor |
| display_name | String | Clickhouse | Nombre del servidor para la UI |
| version_patch | UVarInt | 3 | Versión de parche del servidor |
Excepción del servidor durante el procesamiento de la consulta.
| campo | tipo | valor | descripción |
|---|
| code | Int32 | 60 | Véase ErrorCodes.cpp. |
| name | String | DB::Exception | Versión principal del servidor |
| message | String | DB::Exception: Table X doesn't exist | Versión secundaria del servidor |
| stack_trace | String | ~ | Traza de pila de C++ |
| nested | Bool | true | Más errores |
Puede ser una secuencia continua de excepciones hasta que nested sea false.
Progreso de la ejecución de la consulta que el servidor informa periódicamente.
El progreso se informa en deltas. Para obtener los totales, acumúlelo en el cliente.
| campo | tipo | valor | descripción |
|---|
| rows | UVarInt | 65535 | Número de filas |
| bytes | UVarInt | 871799 | Número de bytes |
| total_rows | UVarInt | 0 | Filas totales |
| wrote_rows | UVarInt | 0 | Filas escritas por el cliente |
| wrote_bytes | UVarInt | 0 | Bytes escritos por el cliente |
Respuesta al Ping del cliente, sin cuerpo del paquete.
No se enviarán más paquetes Data; el resultado de la consulta ya se ha transmitido por completo del servidor al cliente.
Sin cuerpo de paquete.
| campo | tipo |
|---|
| rows | UVarInt |
| blocks | UVarInt |
| bytes | UVarInt |
| applied_limit | Bool |
| rows_before_limit | UVarInt |
| calculated_rows_before_limit | Bool |
Bloque de datos con el log del servidor.
Se codifica como un bloque de datos de columnas, pero nunca se comprime.
| columna | tipo |
|---|
| time | DateTime |
| time_micro | UInt32 |
| host_name | String |
| query_id | String |
| thread_id | UInt64 |
| priority | Int8 |
| source | String |
| text | String |
Bloque de datos con eventos de perfil.
Se codifica como un bloque de datos de columnas, pero nunca se comprime.El tipo de value es UInt64 o Int64, según la revisión del servidor.
| columna | tipo |
|---|
| host_name | String |
| current_time | DateTime |
| thread_id | UInt64 |
| type | Int8 |
| name | String |
| value | UInt64 o Int64 |