| 入力 | 出力 | エイリアス |
|---|---|---|
| ✔ | ✗ |
説明
RowBinaryフォーマットに似ていますが、各カラムの前に、デフォルト値を使用するかどうかを示す追加の1バイトがあります。
使用例
例:
SELECT * FROM FORMAT('RowBinaryWithDefaults', 'x UInt32 default 42, y UInt32', x'010001000000')┌──x─┬─y─┐
│ 42 │ 1 │
└────┴───┘- カラム
xでは、デフォルト値を使用することを示す 1 バイト01のみがあり、このバイトの後ろにはほかのデータはありません。 - カラム
yでは、データはバイト00で始まり、これはそのカラムが実際の値を持ち、後続のデータ `01000000`` から読み取る必要があることを示します。
フォーマット設定
以下の設定は、すべての RowBinary 系フォーマットに共通です。
| 設定 | 説明 | デフォルト |
|---|---|---|
format_binary_max_string_size |
RowBinary フォーマットで許可される String の最大サイズです。 | 1GiB |
output_format_binary_encode_types_in_binary_format |
RowBinaryWithNamesAndTypes 出力フォーマットで、ヘッダー内の型を、型名の文字列ではなく binary encoding を使って書き込めるようにします。 |
false |
input_format_binary_decode_types_in_binary_format |
RowBinaryWithNamesAndTypes 入力フォーマットで、ヘッダー内の型を、型名の文字列ではなく binary encoding を使って読み取れるようにします。 |
false |
output_format_binary_write_json_as_string |
RowBinary 出力フォーマットで、JSON データ型の値を JSON String 値として書き込めるようにします。 |
false |
input_format_binary_read_json_as_string |
RowBinary 入力フォーマットで、JSON データ型の値を JSON String 値として読み取れるようにします。 |
false |