```
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
```
if (file_column + 1 < column_mapping->column_indexes_for_input_fields.size())
        {
            assertChar('\t', in);
        }
        else if (!in.eof())
        {
            if (unlikely(row_num == 1))
                checkForCarriageReturn(in);
            assertChar('\n', in);
        }
    }
    fillUnreadColumnsWithDefaults(columns, ext);
    return true;
}
bool TabSeparatedRowInputFormat::readField(IColumn & column, const DataTypePtr & type,
    const SerializationPtr & serialization, bool is_last_file_column)
{
    const bool at_delimiter = !is_last_file_column && !in.eof() && *in.position() == '\t';
    const bool at_last_column_line_end = is_last_file_column && (in.eof() || *in.position() == '\n');
    if (format_settings.tsv.empty_as_default && (at_delimiter || at_last_column_line_end))
    {
        column.insertDefault();
        return false;
    }
    else if (format_settings.null_as_default && !type->isNullable())
        return SerializationNullable::deserializeTextEscapedImpl(column, in, format_settings, serialization);
    serialization->deserializeTextEscaped(column, in, format_settings);
    return true;
}
bool TabSeparatedRowInputFormat::parseRowAndPrintDiagnosticInfo(MutableColumns & columns, WriteBuffer & out)