@@ -55,6 +55,7 @@ public enum ClickHouseDataType {
55
55
DateTime (LocalDateTime .class , true , false , false , 0 , 29 , 0 , 0 , 9 , false , 0x11 , "TIMESTAMP" ),
56
56
DateTime32 (LocalDateTime .class , true , false , false , 4 , 19 , 0 , 0 , 0 , false , 0x12 ),
57
57
DateTime64 (LocalDateTime .class , true , false , false , 8 , 29 , 3 , 0 , 9 , false , 0x14 ), // we always write timezone as argument
58
+ Enum (String .class , true , true , false , 0 , 0 , 0 , 0 , 0 , false ),
58
59
Enum8 (String .class , true , true , false , 1 , 0 , 0 , 0 , 0 , false , 0x17 , "ENUM" ),
59
60
Enum16 (String .class , true , true , false , 2 , 0 , 0 , 0 , 0 , false , 0x18 ),
60
61
FixedString (String .class , true , true , false , 0 , 0 , 0 , 0 , 0 , false , 0x16 , "BINARY" ),
@@ -90,6 +91,8 @@ public enum ClickHouseDataType {
90
91
Decimal64 (BigDecimal .class , true , false , true , 8 , 18 , 18 , 0 , 18 , false , 0x1A ),
91
92
Decimal128 (BigDecimal .class , true , false , true , 16 , 38 , 38 , 0 , 38 , false , 0x1B ),
92
93
Decimal256 (BigDecimal .class , true , false , true , 32 , 76 , 20 , 0 , 76 , false , 0x1C ),
94
+
95
+ BFloat16 (Float .class , false , true , true , 2 , 3 , 0 , 0 , 16 , false , 0x31 ),
93
96
Float32 (Float .class , false , true , true , 4 , 12 , 0 , 0 , 38 , false , 0x0D , "FLOAT" , "REAL" , "SINGLE" ),
94
97
Float64 (Double .class , false , true , true , 8 , 22 , 0 , 0 , 308 , false , 0x0E , "DOUBLE" , "DOUBLE PRECISION" ),
95
98
IPv4 (Inet4Address .class , false , true , false , 4 , 10 , 0 , 0 , 0 , false , 0x28 , "INET4" ),
@@ -99,10 +102,13 @@ public enum ClickHouseDataType {
99
102
Polygon (Object .class , false , true , true , 0 , 0 , 0 , 0 , 0 , true , 0x2C ), // same as Array(Ring)
100
103
MultiPolygon (Object .class , false , true , true , 0 , 0 , 0 , 0 , 0 , true , 0x2C ), // same as Array(Polygon)
101
104
Ring (Object .class , false , true , true , 0 , 0 , 0 , 0 , 0 , true , 0x2C ), // same as Array(Point)
105
+ LineString ( Object .class , false , true , true , 0 , 0 , 0 , 0 , 0 , true , 0x2C ), // same as Array(Point)
106
+ MultiLineString (Object .class , false , true , true , 0 , 0 , 0 , 0 , 0 , true , 0x2C ), // same as Array(Ring)
107
+
102
108
JSON (Object .class , false , false , false , 0 , 0 , 0 , 0 , 0 , true , 0x30 ),
103
109
@ Deprecated
104
110
Object (Object .class , true , true , false , 0 , 0 , 0 , 0 , 0 , true ),
105
- String (String .class , false , false , false , 0 , 0 , 0 , 0 , 0 , false , 0x15 , "BINARY LARGE OBJECT" , "BINARY VARYING" , "BLOB" ,
111
+ String (String .class , false , true , false , 0 , 0 , 0 , 0 , 0 , false , 0x15 , "BINARY LARGE OBJECT" , "BINARY VARYING" , "BLOB" ,
106
112
"BYTEA" , "CHAR" , "CHAR LARGE OBJECT" , "CHAR VARYING" , "CHARACTER" , "CHARACTER LARGE OBJECT" ,
107
113
"CHARACTER VARYING" , "CLOB" , "GEOMETRY" , "LONGBLOB" , "LONGTEXT" , "MEDIUMBLOB" , "MEDIUMTEXT" ,
108
114
"NATIONAL CHAR" , "NATIONAL CHAR VARYING" , "NATIONAL CHARACTER" , "NATIONAL CHARACTER LARGE OBJECT" ,
@@ -113,6 +119,8 @@ public enum ClickHouseDataType {
113
119
Nested (Object .class , true , true , false , 0 , 0 , 0 , 0 , 0 , true , 0x2F ),
114
120
Tuple (List .class , true , true , false , 0 , 0 , 0 , 0 , 0 , true , 0x1F ),
115
121
Nothing (Object .class , false , true , false , 0 , 0 , 0 , 0 , 0 , true , 0x00 ),
122
+ LowCardinality (Object .class , true , true , false , 0 , 0 , 0 , 0 , 0 , true , 0x26 ),
123
+ Nullable ( Object .class , true , true , false , 0 , 0 , 0 , 0 , 0 , true , 0x23 ),
116
124
SimpleAggregateFunction (String .class , true , true , false , 0 , 0 , 0 , 0 , 0 , false , 0x2E ),
117
125
// implementation-defined intermediate state
118
126
AggregateFunction (String .class , true , true , false , 0 , 0 , 0 , 0 , 0 , true ),
@@ -364,7 +372,7 @@ public byte getTag() {
364
372
* @return true if the type name is an alias; false otherwise
365
373
*/
366
374
public static boolean isAlias (String typeName ) {
367
- return typeName != null && !typeName .isEmpty () && allAliases .contains (typeName .trim (). toUpperCase () );
375
+ return typeName != null && !typeName .isEmpty () && allAliases .contains (typeName .trim ());
368
376
}
369
377
370
378
/**
0 commit comments