mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-23 16:12:01 +00:00
Remove JSONCompactRowOutputStream.
This commit is contained in:
parent
2833ca6d2f
commit
cd299bb162
@ -240,7 +240,6 @@ void registerOutputFormatPrettyCompact(FormatFactory & factory);
|
|||||||
void registerOutputFormatPrettySpace(FormatFactory & factory);
|
void registerOutputFormatPrettySpace(FormatFactory & factory);
|
||||||
void registerOutputFormatVertical(FormatFactory & factory);
|
void registerOutputFormatVertical(FormatFactory & factory);
|
||||||
void registerOutputFormatJSON(FormatFactory & factory);
|
void registerOutputFormatJSON(FormatFactory & factory);
|
||||||
void registerOutputFormatJSONCompact(FormatFactory & factory);
|
|
||||||
void registerOutputFormatXML(FormatFactory & factory);
|
void registerOutputFormatXML(FormatFactory & factory);
|
||||||
void registerOutputFormatODBCDriver(FormatFactory & factory);
|
void registerOutputFormatODBCDriver(FormatFactory & factory);
|
||||||
void registerOutputFormatODBCDriver2(FormatFactory & factory);
|
void registerOutputFormatODBCDriver2(FormatFactory & factory);
|
||||||
@ -308,7 +307,6 @@ FormatFactory::FormatFactory()
|
|||||||
registerOutputFormatPrettySpace(*this);
|
registerOutputFormatPrettySpace(*this);
|
||||||
registerOutputFormatVertical(*this);
|
registerOutputFormatVertical(*this);
|
||||||
registerOutputFormatJSON(*this);
|
registerOutputFormatJSON(*this);
|
||||||
registerOutputFormatJSONCompact(*this);
|
|
||||||
registerOutputFormatXML(*this);
|
registerOutputFormatXML(*this);
|
||||||
registerOutputFormatODBCDriver(*this);
|
registerOutputFormatODBCDriver(*this);
|
||||||
registerOutputFormatODBCDriver2(*this);
|
registerOutputFormatODBCDriver2(*this);
|
||||||
|
@ -1,120 +0,0 @@
|
|||||||
#include <Formats/JSONCompactRowOutputStream.h>
|
|
||||||
#include <Formats/FormatFactory.h>
|
|
||||||
#include <Formats/BlockOutputStreamFromRowOutputStream.h>
|
|
||||||
|
|
||||||
#include <IO/WriteHelpers.h>
|
|
||||||
|
|
||||||
|
|
||||||
namespace DB
|
|
||||||
{
|
|
||||||
|
|
||||||
JSONCompactRowOutputStream::JSONCompactRowOutputStream(WriteBuffer & ostr_, const Block & sample_, const FormatSettings & settings_)
|
|
||||||
: JSONRowOutputStream(ostr_, sample_, settings_)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void JSONCompactRowOutputStream::writeField(const IColumn & column, const IDataType & type, size_t row_num)
|
|
||||||
{
|
|
||||||
type.serializeAsTextJSON(column, row_num, *ostr, settings);
|
|
||||||
++field_number;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void JSONCompactRowOutputStream::writeFieldDelimiter()
|
|
||||||
{
|
|
||||||
writeCString(", ", *ostr);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void JSONCompactRowOutputStream::writeRowStartDelimiter()
|
|
||||||
{
|
|
||||||
if (row_count > 0)
|
|
||||||
writeCString(",\n", *ostr);
|
|
||||||
writeCString("\t\t[", *ostr);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void JSONCompactRowOutputStream::writeRowEndDelimiter()
|
|
||||||
{
|
|
||||||
writeChar(']', *ostr);
|
|
||||||
field_number = 0;
|
|
||||||
++row_count;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void JSONCompactRowOutputStream::writeTotals()
|
|
||||||
{
|
|
||||||
if (totals)
|
|
||||||
{
|
|
||||||
writeCString(",\n", *ostr);
|
|
||||||
writeChar('\n', *ostr);
|
|
||||||
writeCString("\t\"totals\": [", *ostr);
|
|
||||||
|
|
||||||
size_t totals_columns = totals.columns();
|
|
||||||
for (size_t i = 0; i < totals_columns; ++i)
|
|
||||||
{
|
|
||||||
if (i != 0)
|
|
||||||
writeChar(',', *ostr);
|
|
||||||
|
|
||||||
const ColumnWithTypeAndName & column = totals.safeGetByPosition(i);
|
|
||||||
column.type->serializeAsTextJSON(*column.column.get(), 0, *ostr, settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
writeChar(']', *ostr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void writeExtremesElement(const char * title, const Block & extremes, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings)
|
|
||||||
{
|
|
||||||
writeCString("\t\t\"", ostr);
|
|
||||||
writeCString(title, ostr);
|
|
||||||
writeCString("\": [", ostr);
|
|
||||||
|
|
||||||
size_t extremes_columns = extremes.columns();
|
|
||||||
for (size_t i = 0; i < extremes_columns; ++i)
|
|
||||||
{
|
|
||||||
if (i != 0)
|
|
||||||
writeChar(',', ostr);
|
|
||||||
|
|
||||||
const ColumnWithTypeAndName & column = extremes.safeGetByPosition(i);
|
|
||||||
column.type->serializeAsTextJSON(*column.column.get(), row_num, ostr, settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
writeChar(']', ostr);
|
|
||||||
}
|
|
||||||
|
|
||||||
void JSONCompactRowOutputStream::writeExtremes()
|
|
||||||
{
|
|
||||||
if (extremes)
|
|
||||||
{
|
|
||||||
writeCString(",\n", *ostr);
|
|
||||||
writeChar('\n', *ostr);
|
|
||||||
writeCString("\t\"extremes\":\n", *ostr);
|
|
||||||
writeCString("\t{\n", *ostr);
|
|
||||||
|
|
||||||
writeExtremesElement("min", extremes, 0, *ostr, settings);
|
|
||||||
writeCString(",\n", *ostr);
|
|
||||||
writeExtremesElement("max", extremes, 1, *ostr, settings);
|
|
||||||
|
|
||||||
writeChar('\n', *ostr);
|
|
||||||
writeCString("\t}", *ostr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void registerOutputFormatJSONCompact(FormatFactory & factory)
|
|
||||||
{
|
|
||||||
factory.registerOutputFormat("JSONCompact", [](
|
|
||||||
WriteBuffer & buf,
|
|
||||||
const Block & sample,
|
|
||||||
const Context &,
|
|
||||||
const FormatSettings & format_settings)
|
|
||||||
{
|
|
||||||
return std::make_shared<BlockOutputStreamFromRowOutputStream>(
|
|
||||||
std::make_shared<JSONCompactRowOutputStream>(buf, sample, format_settings), sample);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include <Core/Block.h>
|
|
||||||
#include <IO/WriteBuffer.h>
|
|
||||||
#include <IO/WriteBufferValidUTF8.h>
|
|
||||||
#include <Formats/JSONRowOutputStream.h>
|
|
||||||
|
|
||||||
|
|
||||||
namespace DB
|
|
||||||
{
|
|
||||||
|
|
||||||
struct FormatSettings;
|
|
||||||
|
|
||||||
/** The stream for outputting data in the JSONCompact format.
|
|
||||||
*/
|
|
||||||
class JSONCompactRowOutputStream : public JSONRowOutputStream
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
JSONCompactRowOutputStream(WriteBuffer & ostr_, const Block & sample_, const FormatSettings & settings);
|
|
||||||
|
|
||||||
void writeField(const IColumn & column, const IDataType & type, size_t row_num) override;
|
|
||||||
void writeFieldDelimiter() override;
|
|
||||||
void writeRowStartDelimiter() override;
|
|
||||||
void writeRowEndDelimiter() override;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
void writeTotals() override;
|
|
||||||
void writeExtremes() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user