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