Skip to content

Commit 694c603

Browse files
committed
cass_data_type: info whether udt is frozen
1 parent 7afce3d commit 694c603

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

scylla-rust-wrapper/src/cass_types.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ pub struct UDTDataType {
2222

2323
pub keyspace: String,
2424
pub name: String,
25+
pub frozen: bool,
2526
}
2627

2728
impl UDTDataType {
@@ -30,13 +31,15 @@ impl UDTDataType {
3031
field_types: Vec::new(),
3132
keyspace: "".to_string(),
3233
name: "".to_string(),
34+
frozen: false,
3335
}
3436
}
3537

3638
pub fn create_with_params(
3739
user_defined_types: &HashMap<String, Arc<UserDefinedType>>,
3840
keyspace_name: &str,
3941
name: &str,
42+
frozen: bool,
4043
) -> UDTDataType {
4144
UDTDataType {
4245
field_types: user_defined_types
@@ -57,6 +60,7 @@ impl UDTDataType {
5760
.collect(),
5861
keyspace: keyspace_name.to_string(),
5962
name: name.to_owned(),
63+
frozen,
6064
}
6165
}
6266

@@ -65,6 +69,7 @@ impl UDTDataType {
6569
field_types: Vec::with_capacity(capacity),
6670
keyspace: "".to_string(),
6771
name: "".to_string(),
72+
frozen: false,
6873
}
6974
}
7075

@@ -188,7 +193,7 @@ pub fn get_column_type_from_cql_type(
188193
})
189194
.collect(),
190195
),
191-
CqlType::UserDefinedType { definition, .. } => {
196+
CqlType::UserDefinedType { definition, frozen } => {
192197
let name = match definition {
193198
Ok(resolved) => &resolved.name,
194199
Err(not_resolved) => &not_resolved.name,
@@ -197,6 +202,7 @@ pub fn get_column_type_from_cql_type(
197202
user_defined_types,
198203
keyspace_name,
199204
name,
205+
*frozen,
200206
))
201207
}
202208
}
@@ -317,6 +323,7 @@ pub fn get_column_type(column_type: &ColumnType) -> CassDataType {
317323
.collect(),
318324
keyspace: (*keyspace).clone(),
319325
name: (*type_name).clone(),
326+
frozen: false,
320327
}),
321328
ColumnType::SmallInt => CassDataType::Value(CassValueType::CASS_VALUE_TYPE_SMALL_INT),
322329
ColumnType::TinyInt => CassDataType::Value(CassValueType::CASS_VALUE_TYPE_TINY_INT),

scylla-rust-wrapper/src/session.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,7 @@ pub unsafe extern "C" fn cass_session_get_schema_meta(
573573
&keyspace.user_defined_types,
574574
keyspace_name,
575575
udt_name,
576+
false,
576577
))),
577578
);
578579
}

0 commit comments

Comments
 (0)