mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-23 18:20:50 +00:00
added FormatSettingsJSON [#CLICKHOUSE-3060]
This commit is contained in:
parent
9de4d8facb
commit
ebbca0001f
@ -195,7 +195,7 @@ void DataTypeAggregateFunction::deserializeTextQuoted(IColumn & column, ReadBuff
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DataTypeAggregateFunction::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const
|
void DataTypeAggregateFunction::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const
|
||||||
{
|
{
|
||||||
writeJSONString(serializeToString(function, column, row_num), ostr);
|
writeJSONString(serializeToString(function, column, row_num), ostr);
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@ public:
|
|||||||
void deserializeTextEscaped(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextEscaped(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const override;
|
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const override;
|
||||||
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
|
@ -304,7 +304,7 @@ void DataTypeArray::deserializeTextQuoted(IColumn & column, ReadBuffer & istr) c
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DataTypeArray::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool force_quoting_64bit_integers) const
|
void DataTypeArray::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON & settings) const
|
||||||
{
|
{
|
||||||
const ColumnArray & column_array = static_cast<const ColumnArray &>(column);
|
const ColumnArray & column_array = static_cast<const ColumnArray &>(column);
|
||||||
const ColumnArray::Offsets_t & offsets = column_array.getOffsets();
|
const ColumnArray::Offsets_t & offsets = column_array.getOffsets();
|
||||||
@ -319,7 +319,7 @@ void DataTypeArray::serializeTextJSON(const IColumn & column, size_t row_num, Wr
|
|||||||
{
|
{
|
||||||
if (i != offset)
|
if (i != offset)
|
||||||
writeChar(',', ostr);
|
writeChar(',', ostr);
|
||||||
nested->serializeTextJSON(nested_column, i, ostr, force_quoting_64bit_integers);
|
nested->serializeTextJSON(nested_column, i, ostr, settings);
|
||||||
}
|
}
|
||||||
writeChar(']', ostr);
|
writeChar(']', ostr);
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@ public:
|
|||||||
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
||||||
|
|
||||||
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const override;
|
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON & settings) const override;
|
||||||
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
||||||
|
|
||||||
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
|
@ -46,7 +46,7 @@ void DataTypeDate::deserializeTextQuoted(IColumn & column, ReadBuffer & istr) co
|
|||||||
static_cast<ColumnUInt16 &>(column).getData().push_back(x); /// It's important to do this at the end - for exception safety.
|
static_cast<ColumnUInt16 &>(column).getData().push_back(x); /// It's important to do this at the end - for exception safety.
|
||||||
}
|
}
|
||||||
|
|
||||||
void DataTypeDate::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const
|
void DataTypeDate::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool, bool) const
|
||||||
{
|
{
|
||||||
writeChar('"', ostr);
|
writeChar('"', ostr);
|
||||||
serializeText(column, row_num, ostr);
|
serializeText(column, row_num, ostr);
|
||||||
|
@ -19,7 +19,7 @@ public:
|
|||||||
void deserializeTextEscaped(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextEscaped(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const override;
|
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const override;
|
||||||
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextCSV(IColumn & column, ReadBuffer & istr, const char delimiter) const override;
|
void deserializeTextCSV(IColumn & column, ReadBuffer & istr, const char delimiter) const override;
|
||||||
|
@ -46,7 +46,7 @@ void DataTypeDateTime::deserializeTextQuoted(IColumn & column, ReadBuffer & istr
|
|||||||
static_cast<ColumnUInt32 &>(column).getData().push_back(x); /// It's important to do this at the end - for exception safety.
|
static_cast<ColumnUInt32 &>(column).getData().push_back(x); /// It's important to do this at the end - for exception safety.
|
||||||
}
|
}
|
||||||
|
|
||||||
void DataTypeDateTime::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const
|
void DataTypeDateTime::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const
|
||||||
{
|
{
|
||||||
writeChar('"', ostr);
|
writeChar('"', ostr);
|
||||||
serializeText(column, row_num, ostr);
|
serializeText(column, row_num, ostr);
|
||||||
|
@ -19,7 +19,7 @@ public:
|
|||||||
void deserializeTextEscaped(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextEscaped(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const override;
|
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const override;
|
||||||
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextCSV(IColumn & column, ReadBuffer & istr, const char delimiter) const override;
|
void deserializeTextCSV(IColumn & column, ReadBuffer & istr, const char delimiter) const override;
|
||||||
|
@ -171,7 +171,7 @@ void DataTypeEnum<Type>::deserializeTextQuoted(IColumn & column, ReadBuffer & is
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename Type>
|
template <typename Type>
|
||||||
void DataTypeEnum<Type>::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const
|
void DataTypeEnum<Type>::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const
|
||||||
{
|
{
|
||||||
writeJSONString(getNameForValue(static_cast<const ColumnType &>(column).getData()[row_num]), ostr);
|
writeJSONString(getNameForValue(static_cast<const ColumnType &>(column).getData()[row_num]), ostr);
|
||||||
}
|
}
|
||||||
|
@ -93,7 +93,7 @@ public:
|
|||||||
void deserializeTextEscaped(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextEscaped(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const override;
|
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const override;
|
||||||
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
|
@ -159,7 +159,7 @@ void DataTypeFixedString::deserializeTextQuoted(IColumn & column, ReadBuffer & i
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DataTypeFixedString::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const
|
void DataTypeFixedString::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const
|
||||||
{
|
{
|
||||||
const char * pos = reinterpret_cast<const char *>(&static_cast<const ColumnFixedString &>(column).getChars()[n * row_num]);
|
const char * pos = reinterpret_cast<const char *>(&static_cast<const ColumnFixedString &>(column).getChars()[n * row_num]);
|
||||||
writeJSONString(pos, pos + n, ostr);
|
writeJSONString(pos, pos + n, ostr);
|
||||||
|
@ -52,7 +52,7 @@ public:
|
|||||||
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
||||||
|
|
||||||
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const override;
|
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const override;
|
||||||
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
||||||
|
|
||||||
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
|
@ -108,8 +108,7 @@ void DataTypeNull::serializeText(const IColumn & column, size_t row_num, WriteBu
|
|||||||
writeCString("NULL", ostr);
|
writeCString("NULL", ostr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DataTypeNull::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr,
|
void DataTypeNull::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const
|
||||||
bool force_quoting_64bit_integers) const
|
|
||||||
{
|
{
|
||||||
writeCString("null", ostr);
|
writeCString("null", ostr);
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ public:
|
|||||||
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextCSV(IColumn & column, ReadBuffer & istr, const char delimiter) const override;
|
void deserializeTextCSV(IColumn & column, ReadBuffer & istr, const char delimiter) const override;
|
||||||
void serializeText(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeText(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool force_quoting_64bit_integers) const override;
|
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const override;
|
||||||
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -192,16 +192,14 @@ void DataTypeNullable::serializeText(const IColumn & column, size_t row_num, Wri
|
|||||||
nested_data_type->serializeText(*col.getNestedColumn(), row_num, ostr);
|
nested_data_type->serializeText(*col.getNestedColumn(), row_num, ostr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DataTypeNullable::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr,
|
void DataTypeNullable::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON & settings) const
|
||||||
bool force_quoting_64bit_integers) const
|
|
||||||
{
|
{
|
||||||
const ColumnNullable & col = static_cast<const ColumnNullable &>(column);
|
const ColumnNullable & col = static_cast<const ColumnNullable &>(column);
|
||||||
|
|
||||||
if (col.isNullAt(row_num))
|
if (col.isNullAt(row_num))
|
||||||
writeCString("null", ostr);
|
writeCString("null", ostr);
|
||||||
else
|
else
|
||||||
nested_data_type->serializeTextJSON(*col.getNestedColumn(), row_num, ostr,
|
nested_data_type->serializeTextJSON(*col.getNestedColumn(), row_num, ostr, settings);
|
||||||
force_quoting_64bit_integers);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DataTypeNullable::deserializeTextJSON(IColumn & column, ReadBuffer & istr) const
|
void DataTypeNullable::deserializeTextJSON(IColumn & column, ReadBuffer & istr) const
|
||||||
|
@ -45,8 +45,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void deserializeTextCSV(IColumn & column, ReadBuffer & istr, const char delimiter) const override;
|
void deserializeTextCSV(IColumn & column, ReadBuffer & istr, const char delimiter) const override;
|
||||||
|
|
||||||
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr,
|
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const override;
|
||||||
bool force_quoting_64bit_integers) const override;
|
|
||||||
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeText(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeText(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#include <IO/ReadHelpers.h>
|
#include <IO/ReadHelpers.h>
|
||||||
#include <IO/WriteHelpers.h>
|
#include <IO/WriteHelpers.h>
|
||||||
#include <Common/NaNUtils.h>
|
#include <Common/NaNUtils.h>
|
||||||
|
#include <FormatSettingsJSON.h>
|
||||||
|
|
||||||
|
|
||||||
namespace DB
|
namespace DB
|
||||||
@ -62,9 +63,9 @@ void DataTypeNumberBase<T>::deserializeTextQuoted(IColumn & column, ReadBuffer &
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void DataTypeNumberBase<T>::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool force_quoting_64bit_integers) const
|
void DataTypeNumberBase<T>::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON & settings) const
|
||||||
{
|
{
|
||||||
const bool need_quote = std::is_integral<T>::value && (sizeof(T) == 8) && force_quoting_64bit_integers;
|
const bool need_quote = std::is_integral<T>::value && (sizeof(T) == 8) && settings.force_quoting_64bit_integers;
|
||||||
|
|
||||||
if (need_quote)
|
if (need_quote)
|
||||||
writeChar('"', ostr);
|
writeChar('"', ostr);
|
||||||
|
@ -25,7 +25,7 @@ public:
|
|||||||
void deserializeTextEscaped(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextEscaped(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const override;
|
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON & settings) const override;
|
||||||
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextCSV(IColumn & column, ReadBuffer & istr, const char delimiter) const override;
|
void deserializeTextCSV(IColumn & column, ReadBuffer & istr, const char delimiter) const override;
|
||||||
|
@ -266,7 +266,7 @@ void DataTypeString::deserializeTextQuoted(IColumn & column, ReadBuffer & istr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DataTypeString::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const
|
void DataTypeString::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const
|
||||||
{
|
{
|
||||||
writeJSONString(static_cast<const ColumnString &>(column).getDataAt(row_num), ostr);
|
writeJSONString(static_cast<const ColumnString &>(column).getDataAt(row_num), ostr);
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ public:
|
|||||||
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
||||||
|
|
||||||
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const override;
|
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const override;
|
||||||
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
||||||
|
|
||||||
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
|
@ -144,14 +144,14 @@ void DataTypeTuple::deserializeTextQuoted(IColumn & column, ReadBuffer & istr) c
|
|||||||
deserializeText(column, istr);
|
deserializeText(column, istr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DataTypeTuple::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool force_quoting_64bit_integers) const
|
void DataTypeTuple::serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON & settings) const
|
||||||
{
|
{
|
||||||
writeChar('[', ostr);
|
writeChar('[', ostr);
|
||||||
for (const auto i : ext::range(0, ext::size(elems)))
|
for (const auto i : ext::range(0, ext::size(elems)))
|
||||||
{
|
{
|
||||||
if (i != 0)
|
if (i != 0)
|
||||||
writeChar(',', ostr);
|
writeChar(',', ostr);
|
||||||
elems[i]->serializeTextJSON(extractElementColumn(column, i), row_num, ostr, force_quoting_64bit_integers);
|
elems[i]->serializeTextJSON(extractElementColumn(column, i), row_num, ostr, settings);
|
||||||
}
|
}
|
||||||
writeChar(']', ostr);
|
writeChar(']', ostr);
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ public:
|
|||||||
void deserializeTextEscaped(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextEscaped(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const override;
|
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON & settings) const override;
|
||||||
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override;
|
||||||
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
void serializeTextXML(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override;
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ class ReadBuffer;
|
|||||||
class WriteBuffer;
|
class WriteBuffer;
|
||||||
|
|
||||||
class IDataType;
|
class IDataType;
|
||||||
|
class FormatSettingsJSON;
|
||||||
|
|
||||||
using DataTypePtr = std::shared_ptr<IDataType>;
|
using DataTypePtr = std::shared_ptr<IDataType>;
|
||||||
using DataTypes = std::vector<DataTypePtr>;
|
using DataTypes = std::vector<DataTypePtr>;
|
||||||
@ -115,7 +116,7 @@ public:
|
|||||||
/** Text serialization intended for using in JSON format.
|
/** Text serialization intended for using in JSON format.
|
||||||
* force_quoting_64bit_integers parameter forces to brace UInt64 and Int64 types into quotes.
|
* force_quoting_64bit_integers parameter forces to brace UInt64 and Int64 types into quotes.
|
||||||
*/
|
*/
|
||||||
virtual void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool force_quoting_64bit_integers) const = 0;
|
virtual void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON & settings) const = 0;
|
||||||
virtual void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const = 0;
|
virtual void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const = 0;
|
||||||
|
|
||||||
/** Text serialization for putting into the XML format.
|
/** Text serialization for putting into the XML format.
|
||||||
|
@ -43,7 +43,7 @@ public:
|
|||||||
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override { throwNoSerialization(); }
|
void serializeTextQuoted(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override { throwNoSerialization(); }
|
||||||
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override { throwNoSerialization(); }
|
void deserializeTextQuoted(IColumn & column, ReadBuffer & istr) const override { throwNoSerialization(); }
|
||||||
|
|
||||||
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, bool) const override { throwNoSerialization(); }
|
void serializeTextJSON(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettingsJSON &) const override { throwNoSerialization(); }
|
||||||
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override { throwNoSerialization(); }
|
void deserializeTextJSON(IColumn & column, ReadBuffer & istr) const override { throwNoSerialization(); }
|
||||||
|
|
||||||
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override { throwNoSerialization(); }
|
void serializeTextCSV(const IColumn & column, size_t row_num, WriteBuffer & ostr) const override { throwNoSerialization(); }
|
||||||
|
Loading…
Reference in New Issue
Block a user