```
CREATE TABLE testTSV
(
    A Date,
    S LowCardinality(Nullable(String)),
    X Int32,
    S1 LowCardinality(Nullable(String)),
    S2 Array(String)
)
ENGINE = Memory;

printf '2020-01-01\t\N\t32\t\N\n'|clickhouse-client -q 'insert into testTSV format TSV'

 DB::Exception: Unexpected NULL value of not Nullable type LowCardinality(Nullable(String)) (version 20.12.8.5 (official build))
```

But the real error is a missing column in the input stream, because I passed 4 columns instead of 5
```
printf '2020-01-01\t\N\t32\t\N\t[]\n'|clickhouse-client -q 'insert into testTSV format TSV'
ok
```
{
    const auto column_it = column_indexes_by_names.find(column_name);
    if (column_it == column_indexes_by_names.end())
    {
        if (format_settings.skip_unknown_fields)
        {
            column_mapping->column_indexes_for_input_fields.push_back(std::nullopt);
            return;
        }
        throw Exception(
                "Unknown field found in TSV header: '" + column_name + "' " +
                "at position " + std::to_string(column_mapping->column_indexes_for_input_fields.size()) +
                "\nSet the 'input_format_skip_unknown_fields' parameter explicitly to ignore and proceed",
                ErrorCodes::INCORRECT_DATA
        );
    }
    const auto column_index = column_it->second;
    if (column_mapping->read_columns[column_index])
        throw Exception("Duplicate field found while parsing TSV header: " + column_name, ErrorCodes::INCORRECT_DATA);
    column_mapping->read_columns[column_index] = true;
    column_mapping->column_indexes_for_input_fields.emplace_back(column_index);
}
void TabSeparatedRowInputFormat::fillUnreadColumnsWithDefaults(MutableColumns & columns, RowReadExtension & row_read_extension)