La référence du protocole client est en cours.La plupart des exemples sont uniquement en Go.
Ce document décrit le protocole binaire pour les clients TCP de ClickHouse.
Pour les longueurs, les codes de paquets et dans d’autres cas, l’encodage varint non signé est utilisé.
Utilisez binary.PutUvarint et binary.ReadUvarint.
Le varint signé n’est pas utilisé.
Les chaînes de longueur variable sont encodées sous la forme (length, value), où length est un varint et value une chaîne UTF-8.
Vérifiez la longueur pour éviter une OOM :0 ≤ len < MAX
Dump hexadécimal
Base64
Go
ClickHouse utilise Little Endian pour les entiers à taille fixe.
Les booléens sont représentés par un octet unique : 1 correspond à true et 0 à false.