mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-21 01:00:48 +00:00
new tests
This commit is contained in:
parent
156649a087
commit
77317c0514
@ -350,7 +350,7 @@ void PrettyBlockOutputFormat::writeChunk(const Chunk & chunk, PortKind port_kind
|
|||||||
writeCString("\n", out);
|
writeCString("\n", out);
|
||||||
|
|
||||||
if (has_transferred_row)
|
if (has_transferred_row)
|
||||||
writeTransferredRow(max_widths, transferred_row);
|
writeTransferredRow(max_widths, transferred_row, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (format_settings.pretty.output_format_pretty_row_numbers)
|
if (format_settings.pretty.output_format_pretty_row_numbers)
|
||||||
@ -440,13 +440,13 @@ void PrettyBlockOutputFormat::writeValueWithPadding(
|
|||||||
serialization.serializeText(column, row_num, out_serialize, format_settings);
|
serialization.serializeText(column, row_num, out_serialize, format_settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t line_breake_pos = String::npos;
|
size_t break_line_pos = String::npos;
|
||||||
if (cut_to_width)
|
if (cut_to_width)
|
||||||
line_breake_pos = serialized_value.find_first_of('\n');
|
break_line_pos = serialized_value.find_first_of('\n');
|
||||||
if (line_breake_pos != String::npos)
|
if (break_line_pos != String::npos)
|
||||||
{
|
{
|
||||||
has_break_line = true;
|
has_break_line = true;
|
||||||
serialized_value = serialized_value.substr(0, line_breake_pos);
|
serialized_value = serialized_value.substr(0, break_line_pos);
|
||||||
value_width = serialized_value.size() - 1;
|
value_width = serialized_value.size() - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -496,7 +496,7 @@ void PrettyBlockOutputFormat::writeValueWithPadding(
|
|||||||
writeString("…", out);
|
writeString("…", out);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrettyBlockOutputFormat::writeTransferredRow(const Widths & max_widths, const std::vector<String> & transferred_row)
|
void PrettyBlockOutputFormat::writeTransferredRow(const Widths & max_widths, const std::vector<String> & transferred_row, const bool & space_block)
|
||||||
{
|
{
|
||||||
const GridSymbols & grid_symbols = format_settings.pretty.charset == FormatSettings::Pretty::Charset::UTF8 ?
|
const GridSymbols & grid_symbols = format_settings.pretty.charset == FormatSettings::Pretty::Charset::UTF8 ?
|
||||||
utf8_grid_symbols :
|
utf8_grid_symbols :
|
||||||
@ -508,15 +508,19 @@ void PrettyBlockOutputFormat::writeTransferredRow(const Widths & max_widths, con
|
|||||||
for (size_t i = 0; i < row_number_width; ++i)
|
for (size_t i = 0; i < row_number_width; ++i)
|
||||||
writeChar(' ', out);
|
writeChar(' ', out);
|
||||||
|
|
||||||
writeCString(grid_symbols.bar, out);
|
if (!space_block)
|
||||||
|
writeCString(grid_symbols.bar, out);
|
||||||
|
|
||||||
std::vector<String> new_transferred_row(num_columns);
|
std::vector<String> new_transferred_row(num_columns);
|
||||||
bool has_transferred_row = false;
|
bool has_transferred_row = false;
|
||||||
size_t cur_width = 0;
|
size_t cur_width = 0;
|
||||||
|
|
||||||
for (size_t j = 0; j < num_columns; ++j)
|
for (size_t j = 0; j < num_columns; ++j)
|
||||||
{
|
{
|
||||||
if (j != 0)
|
if (j != 0 && !space_block)
|
||||||
writeCString(grid_symbols.bar, out);
|
writeCString(grid_symbols.bar, out);
|
||||||
|
else if (j != 0)
|
||||||
|
writeCString(" ", out);
|
||||||
|
|
||||||
String value = transferred_row[j];
|
String value = transferred_row[j];
|
||||||
cur_width = value.size();
|
cur_width = value.size();
|
||||||
@ -552,11 +556,12 @@ void PrettyBlockOutputFormat::writeTransferredRow(const Widths & max_widths, con
|
|||||||
writeChar(' ', out);
|
writeChar(' ', out);
|
||||||
}
|
}
|
||||||
|
|
||||||
writeCString(grid_symbols.bar, out);
|
if (!space_block)
|
||||||
|
writeCString(grid_symbols.bar, out);
|
||||||
writeCString("\n", out);
|
writeCString("\n", out);
|
||||||
|
|
||||||
if (has_transferred_row)
|
if (has_transferred_row)
|
||||||
writeTransferredRow(max_widths, new_transferred_row);
|
writeTransferredRow(max_widths, new_transferred_row, space_block);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ protected:
|
|||||||
const IColumn & column, const ISerialization & serialization, size_t row_num,
|
const IColumn & column, const ISerialization & serialization, size_t row_num,
|
||||||
size_t value_width, size_t pad_to_width, size_t cut_to_width, bool align_right, bool is_number, bool & has_break_line);
|
size_t value_width, size_t pad_to_width, size_t cut_to_width, bool align_right, bool is_number, bool & has_break_line);
|
||||||
|
|
||||||
void writeTransferredRow(const Widths & max_widths, const std::vector<String> & transferred_row);
|
void writeTransferredRow(const Widths & max_widths, const std::vector<String> & transferred_row, const bool & space_block);
|
||||||
|
|
||||||
void resetFormatterImpl() override
|
void resetFormatterImpl() override
|
||||||
{
|
{
|
||||||
|
@ -198,7 +198,7 @@ void PrettyCompactBlockOutputFormat::writeRow(
|
|||||||
writeCString("\n", out);
|
writeCString("\n", out);
|
||||||
|
|
||||||
if (has_transferred_row)
|
if (has_transferred_row)
|
||||||
writeTransferredRow(max_widths, transferred_row);
|
writeTransferredRow(max_widths, transferred_row, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrettyCompactBlockOutputFormat::writeChunk(const Chunk & chunk, PortKind port_kind)
|
void PrettyCompactBlockOutputFormat::writeChunk(const Chunk & chunk, PortKind port_kind)
|
||||||
|
@ -116,7 +116,7 @@ void PrettySpaceBlockOutputFormat::writeChunk(const Chunk & chunk, PortKind port
|
|||||||
writeChar('\n', out);
|
writeChar('\n', out);
|
||||||
|
|
||||||
if (has_transferred_row)
|
if (has_transferred_row)
|
||||||
writeTransferredRow(max_widths, transferred_row);
|
writeTransferredRow(max_widths, transferred_row, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
total_rows += num_rows;
|
total_rows += num_rows;
|
||||||
|
@ -1,8 +1,44 @@
|
|||||||
┌─id─┬─value─┐
|
┌─id─┬─value─┬─value1──────┐
|
||||||
│ 0 │ hello…│
|
│ 0 │ hello…│ hello world │
|
||||||
│ │…world │
|
│ │…world │ │
|
||||||
└────┴───────┘
|
└────┴───────┴─────────────┘
|
||||||
┌─id─┬─value─┐
|
┌─id─┬─value─┬─value1──────┐
|
||||||
1. │ 0 │ hello…│
|
1. │ 0 │ hello…│ hello world │
|
||||||
│ │…world │
|
│ │…world │ │
|
||||||
└────┴───────┘
|
└────┴───────┴─────────────┘
|
||||||
|
┌─id─┬─value─┬─value1──────┐
|
||||||
|
1. │ 0 │ hello…│ hello world │
|
||||||
|
│ │…world │ │
|
||||||
|
└────┴───────┴─────────────┘
|
||||||
|
┏━━━━┳━━━━━━━┳━━━━━━━━━━━━━┓
|
||||||
|
┃ id ┃ value ┃ value1 ┃
|
||||||
|
┡━━━━╇━━━━━━━╇━━━━━━━━━━━━━┩
|
||||||
|
1. │ 0 │ hello…│ hello world │
|
||||||
|
│ │…world │ │
|
||||||
|
└────┴───────┴─────────────┘
|
||||||
|
id value value1
|
||||||
|
|
||||||
|
0 hello… hello world
|
||||||
|
…world
|
||||||
|
id value value1
|
||||||
|
|
||||||
|
1. 0 hello… hello world
|
||||||
|
…world
|
||||||
|
┏━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
|
||||||
|
┃ id ┃ value ┃ value1 ┃
|
||||||
|
┡━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
|
||||||
|
│ 0 │ hello …│ hello world │
|
||||||
|
│ │…world │ │
|
||||||
|
├────┼─────────────┼─────────────┤
|
||||||
|
│ 1 │ hello world │ hello …│
|
||||||
|
│ │ │…world │
|
||||||
|
└────┴─────────────┴─────────────┘
|
||||||
|
┏━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
|
||||||
|
┃ id ┃ value ┃ value1 ┃
|
||||||
|
┡━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
|
||||||
|
1. │ 1 │ hello world │ hello …│
|
||||||
|
│ │ │…world │
|
||||||
|
├────┼─────────────┼─────────────┤
|
||||||
|
2. │ 0 │ hello …│ hello world │
|
||||||
|
│ │…world │ │
|
||||||
|
└────┴─────────────┴─────────────┘
|
||||||
|
@ -1,10 +1,18 @@
|
|||||||
DROP TABLE IF EXISTS t_break_line;
|
DROP TABLE IF EXISTS t_break_line;
|
||||||
|
|
||||||
CREATE TABLE t_break_line (id UInt64, value String) ENGINE=MergeTree ORDER BY id;
|
CREATE TABLE t_break_line (id UInt64, value String, value1 String) ENGINE=MergeTree ORDER BY id;
|
||||||
|
|
||||||
INSERT INTO t_break_line VALUES(0, 'hello\nworld');
|
INSERT INTO t_break_line VALUES(0, 'hello\nworld', 'hello world');
|
||||||
|
|
||||||
SELECT * FROM t_break_line FORMAT PrettyCompactNoEscapes SETTINGS output_format_pretty_row_numbers = 0;
|
SELECT * FROM t_break_line FORMAT PrettyCompactNoEscapes SETTINGS output_format_pretty_row_numbers = 0;
|
||||||
SELECT * FROM t_break_line FORMAT PrettyCompactNoEscapes;
|
SELECT * FROM t_break_line FORMAT PrettyCompactNoEscapes;
|
||||||
|
SELECT * FROM t_break_line FORMAT PrettyCompact;
|
||||||
|
SELECT * FROM t_break_line FORMAT Pretty;
|
||||||
|
SELECT * FROM t_break_line FORMAT PrettySpace SETTINGS output_format_pretty_row_numbers = 0;
|
||||||
|
SELECT * FROM t_break_line FORMAT PrettySpace;
|
||||||
|
|
||||||
|
INSERT INTO t_break_line VALUES(1, 'hello world', 'hello\nworld');
|
||||||
|
SELECT * FROM t_break_line FORMAT PrettyMonoBlock SETTINGS output_format_pretty_row_numbers = 0;
|
||||||
|
SELECT * FROM t_break_line FORMAT PrettyMonoBlock;
|
||||||
|
|
||||||
DROP TABLE t_break_line;
|
DROP TABLE t_break_line;
|
Loading…
Reference in New Issue
Block a user