mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-15 02:41:59 +00:00
15be6a0dd5
- Fix PrettyCompactMonoBlock for clickhouse-local (broken in 20.3+, fails with an error `Unknown format PrettyCompactMonoBlock`, after #6239) - Fix extremes/totals with PrettyCompactMonoBlock (even before 20.3 breakage they were simply ignored)
40 lines
1.1 KiB
C++
40 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <Processors/Formats/Impl/PrettyBlockOutputFormat.h>
|
|
#include <optional>
|
|
#include <unordered_map>
|
|
|
|
|
|
namespace DB
|
|
{
|
|
|
|
/** Prints the result in the form of beautiful tables, but with fewer delimiter lines.
|
|
*/
|
|
class PrettyCompactBlockOutputFormat : public PrettyBlockOutputFormat
|
|
{
|
|
public:
|
|
PrettyCompactBlockOutputFormat(WriteBuffer & out_, const Block & header, const FormatSettings & format_settings_, bool mono_block_);
|
|
String getName() const override { return "PrettyCompactBlockOutputFormat"; }
|
|
|
|
protected:
|
|
void write(const Chunk & chunk, PortKind port_kind) override;
|
|
void writeHeader(const Block & block, const Widths & max_widths, const Widths & name_widths);
|
|
void writeBottom(const Widths & max_widths);
|
|
void writeRow(
|
|
size_t row_num,
|
|
const Block & header,
|
|
const Columns & columns,
|
|
const WidthsPerColumn & widths,
|
|
const Widths & max_widths);
|
|
|
|
private:
|
|
bool mono_block;
|
|
/// For mono_block == true only
|
|
Chunk mono_chunk;
|
|
|
|
void writeChunk(const Chunk & chunk, PortKind port_kind);
|
|
void writeSuffixIfNot() override;
|
|
};
|
|
|
|
}
|