@@ -22,6 +22,7 @@ pub struct UDTDataType {
22
22
23
23
pub keyspace : String ,
24
24
pub name : String ,
25
+ pub frozen : bool ,
25
26
}
26
27
27
28
impl UDTDataType {
@@ -30,13 +31,15 @@ impl UDTDataType {
30
31
field_types : Vec :: new ( ) ,
31
32
keyspace : "" . to_string ( ) ,
32
33
name : "" . to_string ( ) ,
34
+ frozen : false ,
33
35
}
34
36
}
35
37
36
38
pub fn create_with_params (
37
39
user_defined_types : & HashMap < String , Arc < UserDefinedType > > ,
38
40
keyspace_name : & str ,
39
41
name : & str ,
42
+ frozen : bool ,
40
43
) -> UDTDataType {
41
44
UDTDataType {
42
45
field_types : user_defined_types
@@ -57,6 +60,7 @@ impl UDTDataType {
57
60
. collect ( ) ,
58
61
keyspace : keyspace_name. to_string ( ) ,
59
62
name : name. to_owned ( ) ,
63
+ frozen,
60
64
}
61
65
}
62
66
@@ -65,6 +69,7 @@ impl UDTDataType {
65
69
field_types : Vec :: with_capacity ( capacity) ,
66
70
keyspace : "" . to_string ( ) ,
67
71
name : "" . to_string ( ) ,
72
+ frozen : false ,
68
73
}
69
74
}
70
75
@@ -188,7 +193,7 @@ pub fn get_column_type_from_cql_type(
188
193
} )
189
194
. collect ( ) ,
190
195
) ,
191
- CqlType :: UserDefinedType { definition, .. } => {
196
+ CqlType :: UserDefinedType { definition, frozen } => {
192
197
let name = match definition {
193
198
Ok ( resolved) => & resolved. name ,
194
199
Err ( not_resolved) => & not_resolved. name ,
@@ -197,6 +202,7 @@ pub fn get_column_type_from_cql_type(
197
202
user_defined_types,
198
203
keyspace_name,
199
204
name,
205
+ * frozen,
200
206
) )
201
207
}
202
208
}
@@ -317,6 +323,7 @@ pub fn get_column_type(column_type: &ColumnType) -> CassDataType {
317
323
. collect ( ) ,
318
324
keyspace : ( * keyspace) . clone ( ) ,
319
325
name : ( * type_name) . clone ( ) ,
326
+ frozen : false ,
320
327
} ) ,
321
328
ColumnType :: SmallInt => CassDataType :: Value ( CassValueType :: CASS_VALUE_TYPE_SMALL_INT ) ,
322
329
ColumnType :: TinyInt => CassDataType :: Value ( CassValueType :: CASS_VALUE_TYPE_TINY_INT ) ,
0 commit comments