ClickHouse/dbms/include/DB/DataTypes/DataTypeString.h

57 lines
1.3 KiB
C
Raw Normal View History

2012-08-13 20:16:06 +00:00
#pragma once
2010-05-13 16:13:38 +00:00
#include <ostream>
#include <Poco/SharedPtr.h>
#include <DB/DataTypes/IDataType.h>
namespace DB
{
using Poco::SharedPtr;
class DataTypeString : public IDataType
{
public:
using FieldType = String;
2010-05-13 16:13:38 +00:00
std::string getName() const
{
return "String";
}
2011-08-09 19:19:00 +00:00
DataTypePtr clone() const
2010-05-21 19:52:50 +00:00
{
return new DataTypeString;
}
2010-06-04 18:25:25 +00:00
void serializeBinary(const Field & field, WriteBuffer & ostr) const;
void deserializeBinary(Field & field, ReadBuffer & istr) const;
void serializeBinary(const IColumn & column, WriteBuffer & ostr, size_t offset = 0, size_t limit = 0) const;
void deserializeBinary(IColumn & column, ReadBuffer & istr, size_t limit, double avg_value_size_hint) const;
2010-05-13 16:13:38 +00:00
2010-06-04 18:25:25 +00:00
void serializeText(const Field & field, WriteBuffer & ostr) const;
void deserializeText(Field & field, ReadBuffer & istr) const;
2010-05-13 16:13:38 +00:00
2010-06-04 18:25:25 +00:00
void serializeTextEscaped(const Field & field, WriteBuffer & ostr) const;
void deserializeTextEscaped(Field & field, ReadBuffer & istr) const;
2010-05-13 16:13:38 +00:00
2012-08-26 06:48:39 +00:00
void serializeTextQuoted(const Field & field, WriteBuffer & ostr) const;
void deserializeTextQuoted(Field & field, ReadBuffer & istr) const;
2013-05-16 12:52:09 +00:00
void serializeTextJSON(const Field & field, WriteBuffer & ostr) const;
2010-05-13 16:13:38 +00:00
2011-08-09 19:19:00 +00:00
ColumnPtr createColumn() const;
2011-08-12 18:27:39 +00:00
ColumnPtr createConstColumn(size_t size, const Field & field) const;
2012-08-13 20:16:06 +00:00
Field getDefault() const
{
return String("");
}
2010-05-13 16:13:38 +00:00
};
}