El paquete
Data puede comprimirse.
Hello
Go Client v1.10, que admite la versión de protocolo 54451, y
queremos conectarnos a la base de datos default con el usuario default y la contraseña secret.
| campo | tipo | valor | descripción |
|---|---|---|---|
| client_name | String | "Go Client" | Nombre de la implementación del cliente |
| version_major | UVarInt | 1 | Versión principal del cliente |
| version_minor | UVarInt | 10 | Versión secundaria del cliente |
| protocol_version | UVarInt | 54451 | Versión del protocolo TCP |
| database | String | "default" | Nombre de la base de datos |
| username | String | "default" | Nombre de usuario |
| password | String | "secret" | Contraseña |
Versión del protocolo
Valores predeterminados
"default", el nombre de usuario "default" y la contraseña "" (cadena vacía)
como valores predeterminados.
Consulta
| campo | tipo | valor | descripción |
|---|---|---|---|
| query_id | String | 1ff-a123 | ID de la consulta, puede ser UUIDv4 |
| client_info | ClientInfo | Ver tipo | Datos del cliente |
| settings | Configuración | Ver tipo | Lista de configuraciones |
| secret | String | secret | Secreto entre servidores |
| stage | UVarInt | 2 | Ejecutar hasta la etapa de la consulta |
| compression | UVarInt | 0 | Desactivado=0, habilitado=1 |
| body | String | SELECT 1 | Texto de la consulta |
Información del cliente
| field | type | description |
|---|---|---|
| query_kind | byte | None=0, Initial=1, Secondary=2 |
| initial_user | String | Usuario inicial |
| initial_query_id | String | ID de consulta inicial |
| initial_address | String | Dirección inicial |
| initial_time | Int64 | Tiempo inicial |
| interface | byte | TCP=1, HTTP=2 |
| os_user | String | Usuario del SO |
| client_hostname | String | Nombre de host del cliente |
| client_name | String | Nombre del cliente |
| version_major | UVarInt | Versión principal del cliente |
| version_minor | UVarInt | Versión secundaria del cliente |
| protocol_version | UVarInt | Versión del protocolo del cliente |
| quota_key | String | Clave de cuota |
| distributed_depth | UVarInt | Profundidad de Distributed |
| version_patch | UVarInt | Versión de parche del cliente |
| otel | Bool | Los campos de traza están presentes |
| trace_id | FixedString(16) | ID de traza |
| span_id | FixedString(8) | ID de span |
| trace_state | String | Estado del trazado |
| trace_flags | Byte | Indicadores de trazado |
Configuración
| campo | tipo | valor | descripción |
|---|---|---|---|
| key | String | send_logs_level | Clave de la configuración |
| value | String | trace | Valor de la configuración |
| important | Bool | true | Si se puede ignorar o no |
Etapa
| valor | nombre | descripción |
|---|---|---|
| 0 | FetchColumns | Solo obtiene los tipos de las columnas |
| 1 | WithMergeableState | Hasta el estado fusionable |
| 2 | Complete | Hasta la completitud plena (debería ser el valor predeterminado) |
Data
| campo | tipo | descripción |
|---|---|---|
| info | BlockInfo | Información codificada del bloque |
| columns | UVarInt | Cantidad de columnas |
| rows | UVarInt | Cantidad de filas |
| columns | []Columna | Columnas con datos |
Columna
| campo | tipo | valor | descripción |
|---|---|---|---|
| name | String | foo | Nombre de la columna |
| type | String | DateTime64(9) | Tipo de la columna |
| data | bytes | ~ | Datos de la columna |