Перейти к основному содержимому
Перейти к основному содержимому

Основы

примечание

Справочник по клиентскому протоколу в процессе написания.

Большинство примеров только на Go.

Этот документ описывает бинарный протокол для TCP-клиентов ClickHouse.

Varint

Для длин, кодов пакетов и других случаев используется беззнаковое varint кодирование. Используйте binary.PutUvarint и binary.ReadUvarint.

примечание

Знаковое varint не используется.

String

Строки переменной длины кодируются как (длина, значение), где длина — это varint, а значение — это строка в utf8.

к сведению

Проверяйте длину, чтобы предотвратить OOM:

0 ≤ len < MAX

Integers

подсказка

ClickHouse использует Little Endian для целых чисел фиксированного размера.

Int32

Boolean

Булевы значения представлены одним байтом, 1 — это true, а 0 — это false.