| 入力 | 出力 | エイリアス |
|---|---|---|
| ✗ | ✔ |
説明
ODBCDriver2 フォーマットは、HTTP 経由でクエリ結果を ClickHouse の ODBC ドライバーに転送するためのバイナリ出力専用フォーマットです。ドライバーは default_format を
ODBCDriver2 に設定してこのフォーマットをリクエストします。通常、ユーザーが直接選択することはありません。
ストリーム内のすべての整数は、リトルエンディアンのバイト順でエンコードされた符号付き 32 ビット値です。文字列は、バイト長の後に そのバイト列が続く形式でエンコードされます。出力の構造は次のとおりです。
- 後続するヘッダー行が 2 行であることを示す値
2。 - 値
number_of_columns + 1、文字列name、および各カラム名を含む名前ヘッダー。 - 値
number_of_columns + 1、文字列type、および各 ClickHouse データ型名を含む型ヘッダー。 これらの型名からはLowCardinalityラッパーが取り除かれます。 - データ行。各行には、結果の各カラムに対して、テキスト形式でシリアライズされ、長さのプレフィックスが付いた値が 1 つずつ含まれます。データ行には
行数やカラム数は含まれず、ストリームは
EOFで終了します。
NULL 値は長さ -1 でエンコードされます。空の非 NULL 文字列の長さは 0 です。totals が存在する場合は、
同じ行エンコードを使用し、通常の行の後に続きます。
使用例
次のクエリは、このフォーマットのテストで扱われる値を代表するものです。
SELECT
1 AS x,
[2, 3] AS y,
'Hello' AS z,
NULL AS a
FORMAT ODBCDriver2結果はバイナリのため、端末ではなくファイルに出力します。
clickhouse-client --query \
"SELECT 1 AS x, [2, 3] AS y, 'Hello' AS z, NULL AS a FORMAT ODBCDriver2" \
> result.bin通常、ドライバーは HTTP リクエストに default_format=ODBCDriver2 を追加し、レスポンスをデコードします。
フォーマット設定
ODBCDriver2 は、個々の値に対して標準のテキストシリアライゼーション設定を使用します。フォーマット自体に固有の設定はありません。