#pragma once #include #include #include #include namespace DB { struct FormatSettings; /** The stream for outputting data in the JSONCompact format. */ class JSONCompactRowOutputFormat : public JSONRowOutputFormat { public: JSONCompactRowOutputFormat(WriteBuffer & out_, const Block & header, const FormatSettings & settings_); String getName() const override { return "JSONCompactRowOutputFormat"; } void writeField(const IColumn & column, const IDataType & type, size_t row_num) override; void writeFieldDelimiter() override; void writeRowStartDelimiter() override; void writeRowEndDelimiter() override; void writeBeforeTotals() override; void writeAfterTotals() override; protected: void writeExtremesElement(const char * title, const Columns & columns, size_t row_num) override; void writeTotalsField(const IColumn & column, const IDataType & type, size_t row_num) override { return writeField(column, type, row_num); } }; }