Основы
примечание
Ссылка на протокол клиента в процессе разработки.
Большинство примеров доступны только на Go.
Этот документ описывает бинарный протокол для TCP-клиентов ClickHouse.
Varint
Для длин, кодов пакетов и других случаев используется кодировка беззнакового varint. Используйте binary.PutUvarint и binary.ReadUvarint.
примечание
Знаковый varint не используется.
String
Строки переменной длины кодируются как (длина, значение), где длина — это varint, а значение — это строка utf8.
к сведению
Проверьте длину, чтобы избежать OOM:
0 ≤ len < MAX
- Кодировать
- Декодировать
- Hex dump
- Base64
- Go
Integers
подсказка
ClickHouse использует Little Endian для целых чисел фиксированного размера.
Int32
- Hex dump
- Base64
Boolean
Булевы значения представляются как один байт, 1
— это true
, а 0
— это false
.