基本
注記
クライアントプロトコルのリファレンスは現在作成中です。
ほとんどのサンプルコードは Go のみで提供されています。
このドキュメントでは、ClickHouse の TCP クライアント向けバイナリプロトコルについて説明します。
Varint
長さやパケットコードなどには、unsigned varint エンコード方式が使われます。 binary.PutUvarint と binary.ReadUvarint を使用してください。
注記
signed varint は使用されません。
String
可変長文字列は (length, value) という形式でエンコードされます。ここで length は varint、value は UTF-8 文字列です。
参考文献
OOM によるメモリ枯渇を防ぐため、length を必ず検証すること:
0 ≤ len < MAX
- Encode
- Decode
- Hex dump
- Base64
- Go
整数
ヒント
ClickHouse は固定サイズの整数に リトルエンディアン (Little Endian) を使用します。
Int32
- Hexダンプ
- Base64
Boolean
Boolean 型は 1 バイトで表現され、1 は true、0 は false を表します。