#ifndef DBMS_DATA_TYPES_IDATATYPE_NUMBER_H #define DBMS_DATA_TYPES_IDATATYPE_NUMBER_H #include #include #include namespace DB { /** Реализует часть интерфейса IDataType, общую для всяких чисел * - ввод и вывод в текстовом виде. */ template class IDataTypeNumber : public IDataType { public: void serializeText(const Field & field, WriteBuffer & ostr) const { writeIntText(boost::get::Type>(field), ostr); } void deserializeText(Field & field, ReadBuffer & istr) const { typename NearestFieldType::Type x; readIntText(x, istr); field = x; } void serializeTextEscaped(const Field & field, WriteBuffer & ostr) const { serializeText(field, ostr); } void deserializeTextEscaped(Field & field, ReadBuffer & istr) const { deserializeText(field, istr); } void serializeTextQuoted(const Field & field, WriteBuffer & ostr, bool compatible = false) const { serializeText(field, ostr); } void deserializeTextQuoted(Field & field, ReadBuffer & istr, bool compatible = false) const { deserializeText(field, istr); } }; } #endif