> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation for the RowBinaryWithNamesAndTypes format

# RowBinaryWithNamesAndTypes

| Input | Output | Alias |
| ----- | ------ | ----- |
| ✔     | ✔      |       |

<h2 id="description">
  Description
</h2>

Similar to the [RowBinary](/reference/formats/RowBinary/RowBinary) format, but with added header:

* [`LEB128`](https://en.wikipedia.org/wiki/LEB128)-encoded number of columns (N).
* N `String`s specifying column names.
* N `String`s specifying column types.

<h2 id="example-usage">
  Example usage
</h2>

<h2 id="format-settings">
  Format settings
</h2>

The following settings are common to all `RowBinary` type formats.

| Setting                                                                                                                               | Description                                                                                                                                                                                                                                              | Default |
| ------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| [`format_binary_max_string_size`](/reference/settings/formats#format_binary_max_string_size)                                          | The maximum allowed size for String in RowBinary format.                                                                                                                                                                                                 | `1GiB`  |
| [`output_format_binary_encode_types_in_binary_format`](/reference/settings/formats#input_format_binary_decode_types_in_binary_format) | Allows to write types in header using [`binary encoding`](/reference/data-types/data-types-binary-encoding) instead of strings with type names in [`RowBinaryWithNamesAndTypes`](/reference/formats/RowBinary/RowBinaryWithNamesAndTypes) output format. | `false` |
| [`input_format_binary_decode_types_in_binary_format`](/reference/settings/formats#input_format_binary_decode_types_in_binary_format)  | Allows to read types in header using [`binary encoding`](/reference/data-types/data-types-binary-encoding) instead of strings with type names in [`RowBinaryWithNamesAndTypes`](/reference/formats/RowBinary/RowBinaryWithNamesAndTypes) input format.   | `false` |
| [`output_format_binary_write_json_as_string`](/reference/settings/formats#output_format_binary_write_json_as_string)                  | Allows to write values of the [`JSON`](/reference/data-types/newjson) data type as `JSON` [String](/reference/data-types/string) values in [`RowBinary`](/reference/formats/RowBinary/RowBinary) output format.                                          | `false` |
| [`input_format_binary_read_json_as_string`](/reference/settings/formats#input_format_binary_read_json_as_string)                      | Allows to read values of the [`JSON`](/reference/data-types/newjson) data type as `JSON` [String](/reference/data-types/string) values in [`RowBinary`](/reference/formats/RowBinary/RowBinary) input format.                                            | `false` |

<Note>
  If setting [`input_format_with_names_use_header`](/reference/settings/formats#input_format_with_names_use_header) is set to 1,
  the columns from input data will be mapped to the columns from the table by their names, columns with unknown names will be skipped if setting [input\_format\_skip\_unknown\_fields](/reference/settings/formats#input_format_skip_unknown_fields) is set to 1.
  Otherwise, the first row will be skipped.
  If setting [`input_format_with_types_use_header`](/reference/settings/formats#input_format_with_types_use_header) is set to `1`,
  the types from input data will be compared with the types of the corresponding columns from the table. Otherwise, the second row will be skipped.
</Note>
