No metadata cassandra codec fix
@@ -512,6 +512,21 @@ impl CassandraCodec {
match frame.response_body().unwrap() {
ResponseBody::Error(e) => error = Some(MessageValue::Strings(e.message)),
ResponseBody::Result(ResResultBody::Rows(rows)) => {
+ if rows.metadata.flags.contains(RowsMetadataFlags::NO_METADATA) {
+ let converted_rows = rows
+ .rows_content
+ .into_iter()
+ .map(|row| {
+ row.into_iter()
+ .map(|row_content| {
+ MessageValue::Bytes(row_content.into_bytes().unwrap().into())
+ })
+ .collect()
+ })
+ .collect();
+
+ result = Some(MessageValue::Rows(converted_rows));
+ } else {
let converted_rows = rows
.rows_content
.into_iter()
@@ -530,8 +545,10 @@ impl CassandraCodec {
.collect()
})
.collect();
+
result = Some(MessageValue::NamedRows(converted_rows));
}
+ }
_ => {}
}
