mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 16:50: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);
|
||||
|
||||
if (has_transferred_row)
|
||||
writeTransferredRow(max_widths, transferred_row);
|
||||
writeTransferredRow(max_widths, transferred_row, false);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
size_t line_breake_pos = String::npos;
|
||||
size_t break_line_pos = String::npos;
|
||||
if (cut_to_width)
|
||||
line_breake_pos = serialized_value.find_first_of('\n');
|
||||
if (line_breake_pos != String::npos)
|
||||
break_line_pos = serialized_value.find_first_of('\n');
|
||||
if (break_line_pos != String::npos)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
@ -496,7 +496,7 @@ void PrettyBlockOutputFormat::writeValueWithPadding(
|
||||
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 ?
|
||||
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)
|
||||
writeChar(' ', out);
|
||||
|
||||
writeCString(grid_symbols.bar, out);
|
||||
if (!space_block)
|
||||
writeCString(grid_symbols.bar, out);
|
||||
|
||||
std::vector<String> new_transferred_row(num_columns);
|
||||
bool has_transferred_row = false;
|
||||
size_t cur_width = 0;
|
||||
|
||||
for (size_t j = 0; j < num_columns; ++j)
|
||||
{
|
||||
if (j != 0)
|
||||
if (j != 0 && !space_block)
|
||||
writeCString(grid_symbols.bar, out);
|
||||
else if (j != 0)
|
||||
writeCString(" ", out);
|
||||
|
||||
String value = transferred_row[j];
|
||||
cur_width = value.size();
|
||||
@ -552,11 +556,12 @@ void PrettyBlockOutputFormat::writeTransferredRow(const Widths & max_widths, con
|
||||
writeChar(' ', out);
|
||||
}
|
||||
|
||||
writeCString(grid_symbols.bar, out);
|
||||
if (!space_block)
|
||||
writeCString(grid_symbols.bar, out);
|
||||
writeCString("\n", out);
|
||||
|
||||
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,
|
||||
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
|
||||
{
|
||||
|
@ -198,7 +198,7 @@ void PrettyCompactBlockOutputFormat::writeRow(
|
||||
writeCString("\n", out);
|
||||
|
||||
if (has_transferred_row)
|
||||
writeTransferredRow(max_widths, transferred_row);
|
||||
writeTransferredRow(max_widths, transferred_row, false);
|
||||
}
|
||||
|
||||
void PrettyCompactBlockOutputFormat::writeChunk(const Chunk & chunk, PortKind port_kind)
|
||||
|
@ -116,7 +116,7 @@ void PrettySpaceBlockOutputFormat::writeChunk(const Chunk & chunk, PortKind port
|
||||
writeChar('\n', out);
|
||||
|
||||
if (has_transferred_row)
|
||||
writeTransferredRow(max_widths, transferred_row);
|
||||
writeTransferredRow(max_widths, transferred_row, true);
|
||||
}
|
||||
|
||||
total_rows += num_rows;
|
||||
|
@ -1,8 +1,44 @@
|
||||
┌─id─┬─value─┐
|
||||
│ 0 │ hello…│
|
||||
│ │…world │
|
||||
└────┴───────┘
|
||||
┌─id─┬─value─┐
|
||||
1. │ 0 │ hello…│
|
||||
│ │…world │
|
||||
└────┴───────┘
|
||||
┌─id─┬─value─┬─value1──────┐
|
||||
│ 0 │ hello…│ hello world │
|
||||
│ │…world │ │
|
||||
└────┴───────┴─────────────┘
|
||||
┌─id─┬─value─┬─value1──────┐
|
||||
1. │ 0 │ hello…│ hello 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;
|
||||
|
||||
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;
|
||||
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;
|
Loading…
Reference in New Issue
Block a user