#pragma once #include #include #include #include #include #include #include #include namespace DB { class DataTypeCustomPointSerialization : public DataTypeCustomSimpleTextSerialization { public: void serializeText(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const override; void deserializeText(IColumn & column, ReadBuffer & istr, const FormatSettings & settings) const override; static DataTypePtr nestedDataType(); }; class DataTypeCustomRingSerialization : public DataTypeCustomSimpleTextSerialization { public: void serializeText(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const override; void deserializeText(IColumn & column, ReadBuffer & istr, const FormatSettings & settings) const override; static DataTypePtr nestedDataType(); }; class DataTypeCustomPolygonSerialization : public DataTypeCustomSimpleTextSerialization { public: void serializeText(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const override; void deserializeText(IColumn & column, ReadBuffer & istr, const FormatSettings & settings) const override; static DataTypePtr nestedDataType(); }; class DataTypeCustomMultiPolygonSerialization : public DataTypeCustomSimpleTextSerialization { public: void serializeText(const IColumn & column, size_t row_num, WriteBuffer & ostr, const FormatSettings & settings) const override; void deserializeText(IColumn & column, ReadBuffer & istr, const FormatSettings & settings) const override; static DataTypePtr nestedDataType(); }; }