2010-03-05 17:38:01 +00:00
|
|
|
#ifndef DBMS_DATA_TYPES_NUMBER_FIXED_H
|
|
|
|
#define DBMS_DATA_TYPES_NUMBER_FIXED_H
|
|
|
|
|
2010-03-12 18:25:35 +00:00
|
|
|
#include <DB/Columns/ColumnsNumber.h>
|
2010-03-05 17:38:01 +00:00
|
|
|
#include <DB/DataTypes/IDataTypeNumberFixed.h>
|
|
|
|
|
|
|
|
|
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
|
|
|
|
/** Типы столбцов для чисел фиксированной ширины. */
|
|
|
|
|
|
|
|
#define DEFINE_DATA_TYPE_NUMBER_FIXED(TYPE) \
|
2010-03-12 18:25:35 +00:00
|
|
|
class DataType ## TYPE : public IDataTypeNumberFixed<TYPE, Column ## TYPE> \
|
2010-03-05 17:38:01 +00:00
|
|
|
{ \
|
|
|
|
public: \
|
|
|
|
std::string getName() const { return #TYPE; } \
|
2010-05-21 19:52:50 +00:00
|
|
|
SharedPtr<IDataType> clone() const { return new DataType ## TYPE; } \
|
2010-03-05 17:38:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
DEFINE_DATA_TYPE_NUMBER_FIXED(UInt8);
|
|
|
|
DEFINE_DATA_TYPE_NUMBER_FIXED(UInt16);
|
|
|
|
DEFINE_DATA_TYPE_NUMBER_FIXED(UInt32);
|
|
|
|
DEFINE_DATA_TYPE_NUMBER_FIXED(UInt64);
|
|
|
|
|
|
|
|
DEFINE_DATA_TYPE_NUMBER_FIXED(Int8);
|
|
|
|
DEFINE_DATA_TYPE_NUMBER_FIXED(Int16);
|
|
|
|
DEFINE_DATA_TYPE_NUMBER_FIXED(Int32);
|
|
|
|
DEFINE_DATA_TYPE_NUMBER_FIXED(Int64);
|
|
|
|
|
|
|
|
DEFINE_DATA_TYPE_NUMBER_FIXED(Float32);
|
|
|
|
DEFINE_DATA_TYPE_NUMBER_FIXED(Float64);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|