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

53 lines
1.2 KiB
C
Raw Normal View History

2011-08-07 02:08:22 +00:00
#pragma once
#include <ostream>
#include <Poco/SharedPtr.h>
#include <Poco/NumberFormatter.h>
#include <DB/DataTypes/IDataType.h>
namespace DB
{
using Poco::SharedPtr;
class DataTypeFixedString : public IDataType
{
private:
size_t n;
public:
DataTypeFixedString(size_t n_) : n(n_) {}
std::string getName() const
{
return "FixedString(" + Poco::NumberFormatter::format(n) + ")";
}
2011-08-09 19:19:00 +00:00
DataTypePtr clone() const
2011-08-07 02:08:22 +00:00
{
return new DataTypeFixedString(n);
}
void serializeBinary(const Field & field, WriteBuffer & ostr) const;
void deserializeBinary(Field & field, ReadBuffer & istr) const;
void serializeBinary(const IColumn & column, WriteBuffer & ostr) const;
void deserializeBinary(IColumn & column, ReadBuffer & istr, size_t limit) const;
void serializeText(const Field & field, WriteBuffer & ostr) const;
void deserializeText(Field & field, ReadBuffer & istr) const;
void serializeTextEscaped(const Field & field, WriteBuffer & ostr) const;
void deserializeTextEscaped(Field & field, ReadBuffer & istr) const;
void serializeTextQuoted(const Field & field, WriteBuffer & ostr, bool compatible = false) const;
void deserializeTextQuoted(Field & field, ReadBuffer & istr, bool compatible = false) const;
2011-08-09 19:19:00 +00:00
ColumnPtr createColumn() const;
2011-08-07 02:08:22 +00:00
};
}