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