Merge branch 'Custom-null-representation-in-TCV' of https://github.com/Avogar/ClickHouse into Avogar-Custom-null-representation-in-TCV

This commit is contained in:
Alexey Milovidov 2020-09-08 15:45:38 +03:00
commit 843b51bbb5
4 changed files with 4 additions and 1 deletions

View File

@ -439,6 +439,7 @@ class IColumn;
M(String, output_format_avro_codec, "", "Compression codec used for output. Possible values: 'null', 'deflate', 'snappy'.", 0) \
M(UInt64, output_format_avro_sync_interval, 16 * 1024, "Sync interval in bytes.", 0) \
M(Bool, output_format_tsv_crlf_end_of_line, false, "If it is set true, end of line in TSV format will be \\r\\n instead of \\n.", 0) \
M(Bool, output_format_tsv_null_representation, "\\N", "Custom null representation in TSV format", 0) \
\
M(UInt64, input_format_allow_errors_num, 0, "Maximum absolute amount of errors while reading text formats (like CSV, TSV). In case of error, if at least absolute or relative amount of errors is lower than corresponding value, will skip until next line and continue.", 0) \
M(Float, input_format_allow_errors_ratio, 0, "Maximum relative amount of errors while reading text formats (like CSV, TSV). In case of error, if at least absolute or relative amount of errors is lower than corresponding value, will skip until next line and continue.", 0) \

View File

@ -217,7 +217,7 @@ void DataTypeNullable::serializeTextEscaped(const IColumn & column, size_t row_n
const ColumnNullable & col = assert_cast<const ColumnNullable &>(column);
if (col.isNullAt(row_num))
writeCString("\\N", ostr);
writeString(settings.tsv.null_representation, ostr);
else
nested_data_type->serializeAsTextEscaped(col.getNestedColumn(), row_num, ostr, settings);
}

View File

@ -111,6 +111,7 @@ static FormatSettings getOutputFormatSetting(const Settings & settings, const Co
format_settings.template_settings.row_format = settings.format_template_row;
format_settings.template_settings.row_between_delimiter = settings.format_template_rows_between_delimiter;
format_settings.tsv.crlf_end_of_line = settings.output_format_tsv_crlf_end_of_line;
format_settings.tsv.null_representation = settings.output_format_tsv_null_representation;
format_settings.write_statistics = settings.output_format_write_statistics;
format_settings.parquet.row_group_size = settings.output_format_parquet_row_group_size;
format_settings.schema.format_schema = settings.format_schema;

View File

@ -78,6 +78,7 @@ struct FormatSettings
{
bool empty_as_default = false;
bool crlf_end_of_line = false;
String null_representation = "\\N";
};
TSV tsv;