# tskv

## Description

Tab-separated escaped name=value fields. Field names identify columns rather than relying on position.

Input and output. Select it with `FORMAT tskv`. Names ignore ASCII case; use the snake_case name shown here.

Each row contains escaped name=value fields separated by tabs. Field names identify the destination columns rather than relying on a fixed position.

Values follow the configured tab-separated escaping and default rules. Use the named layout when field order can vary, and inspect the unknown-field policy before accepting extra keys.

```text
SELECT expressions FORMAT tskv;
INSERT INTO table [(columns)] [SETTINGS ...] FORMAT tskv
<data>
```

## Example usage

```sql
SELECT CAST(7 AS Int64) AS id, 'Ada' AS name FORMAT tskv;
```

```text
id=7	name=Ada
```

## Format settings

Use a statement `SETTINGS` clause; these options are not persisted by `SET`.

| Setting                 | Type     | Default | Meaning                                                                                  |
| ----------------------- | -------- | ------- | ---------------------------------------------------------------------------------------- |
| `ignore_unknown_fields` | `Bool`   | `0`     | Skip input keys and header names that match no target column instead of failing.         |
| `snappy_mode`           | `String` | `basic` | Read Snappy client files as basic (Hadoop blocks) or framed (standard streaming format). |
