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:
|
|
|
|
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;
|
2012-07-18 18:27:42 +00:00
|
|
|
void serializeBinary(const IColumn & column, WriteBuffer & ostr, WriteCallback callback = WriteCallback()) const;
|
2010-06-04 18:25:25 +00:00
|
|
|
void deserializeBinary(IColumn & column, ReadBuffer & istr, size_t limit) 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
|
|
|
|
2010-06-04 18:25:25 +00:00
|
|
|
void serializeTextQuoted(const Field & field, WriteBuffer & ostr, bool compatible = false) const;
|
|
|
|
void deserializeTextQuoted(Field & field, ReadBuffer & istr, bool compatible = false) 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
|
|
|
};
|
|
|
|
|
|
|
|
}
|