MCPcopy Create free account
hub / github.com/ByConity/ByConity / registerDataTypeNumbers

Function registerDataTypeNumbers

src/DataTypes/DataTypesNumber.cpp:72–125  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

70}
71
72void registerDataTypeNumbers(DataTypeFactory & factory)
73{
74 factory.registerDataType("UInt8", createNumericDataType<UInt8>);
75 factory.registerDataType("UInt16", createNumericDataType<UInt16>);
76 factory.registerDataType("UInt32", createNumericDataType<UInt32>);
77 factory.registerDataType("UInt64", createNumericDataType<UInt64>);
78
79 factory.registerDataType("Int8", createNumericDataType<Int8>);
80 factory.registerDataType("Int16", createNumericDataType<Int16>);
81 factory.registerDataType("Int32", createNumericDataType<Int32>);
82 factory.registerDataType("Int64", createNumericDataType<Int64>);
83
84 factory.registerDataType("Float32", createNumericDataType<Float32>);
85 factory.registerDataType("Float64", createNumericDataType<Float64>);
86
87 factory.registerSimpleDataType("UInt128", [] { return DataTypePtr(std::make_shared<DataTypeUInt128>()); });
88 factory.registerSimpleDataType("UInt256", [] { return DataTypePtr(std::make_shared<DataTypeUInt256>()); });
89
90 factory.registerSimpleDataType("Int128", [] { return DataTypePtr(std::make_shared<DataTypeInt128>()); });
91 factory.registerSimpleDataType("Int256", [] { return DataTypePtr(std::make_shared<DataTypeInt256>()); });
92
93 /// These synonyms are added for compatibility.
94
95 factory.registerAlias("TINYINT", "Int8", DataTypeFactory::CaseInsensitive);
96 factory.registerAlias("INT1", "Int8", DataTypeFactory::CaseInsensitive); /// MySQL
97 factory.registerAlias("BYTE", "Int8", DataTypeFactory::CaseInsensitive); /// MS Access
98 factory.registerAlias("SMALLINT", "Int16", DataTypeFactory::CaseInsensitive);
99 factory.registerAlias("INT", "Int32", DataTypeFactory::CaseInsensitive);
100 factory.registerAlias("INTEGER", "Int32", DataTypeFactory::CaseInsensitive);
101 factory.registerAlias("BIGINT", "Int64", DataTypeFactory::CaseInsensitive);
102 factory.registerAlias("FLOAT", "Float32", DataTypeFactory::CaseInsensitive);
103 factory.registerAlias("REAL", "Float32", DataTypeFactory::CaseInsensitive);
104 factory.registerAlias("SINGLE", "Float32", DataTypeFactory::CaseInsensitive); /// MS Access
105 factory.registerAlias("DOUBLE", "Float64", DataTypeFactory::CaseInsensitive);
106 factory.registerAlias("MEDIUMINT", "Int32", DataTypeFactory::CaseInsensitive); /// MySQL
107
108 factory.registerAlias("DOUBLE PRECISION", "Float64", DataTypeFactory::CaseInsensitive);
109
110 /// MySQL
111 factory.registerAlias("TINYINT SIGNED", "Int8", DataTypeFactory::CaseInsensitive);
112 factory.registerAlias("INT1 SIGNED", "Int8", DataTypeFactory::CaseInsensitive);
113 factory.registerAlias("SMALLINT SIGNED", "Int16", DataTypeFactory::CaseInsensitive);
114 factory.registerAlias("MEDIUMINT SIGNED", "Int32", DataTypeFactory::CaseInsensitive);
115 factory.registerAlias("INT SIGNED", "Int32", DataTypeFactory::CaseInsensitive);
116 factory.registerAlias("INTEGER SIGNED", "Int32", DataTypeFactory::CaseInsensitive);
117 factory.registerAlias("BIGINT SIGNED", "Int64", DataTypeFactory::CaseInsensitive);
118 factory.registerAlias("TINYINT UNSIGNED", "UInt8", DataTypeFactory::CaseInsensitive);
119 factory.registerAlias("INT1 UNSIGNED", "UInt8", DataTypeFactory::CaseInsensitive);
120 factory.registerAlias("SMALLINT UNSIGNED", "UInt16", DataTypeFactory::CaseInsensitive);
121 factory.registerAlias("MEDIUMINT UNSIGNED", "UInt32", DataTypeFactory::CaseInsensitive);
122 factory.registerAlias("INT UNSIGNED", "UInt32", DataTypeFactory::CaseInsensitive);
123 factory.registerAlias("INTEGER UNSIGNED", "UInt32", DataTypeFactory::CaseInsensitive);
124 factory.registerAlias("BIGINT UNSIGNED", "UInt64", DataTypeFactory::CaseInsensitive);
125}
126
127}

Callers 1

DataTypeFactoryMethod · 0.85

Calls 3

registerDataTypeMethod · 0.80
registerAliasMethod · 0.80

Tested by

no test coverage detected