ZENOTME commented on code in PR #82:
URL: https://github.com/apache/iceberg-rust/pull/82#discussion_r1390885977


##########
crates/iceberg/src/avro/schema.rs:
##########
@@ -233,23 +222,46 @@ pub(crate) fn schema_to_avro_schema(name: impl ToString, 
schema: &Schema) -> Res
     visit_schema(schema, &mut converter).map(Either::unwrap_left)
 }
 
-pub(crate) fn avro_fixed_schema(len: usize) -> Result<AvroSchema> {
+fn avro_record_schema(name: &str, fields: Vec<AvroRecordField>) -> 
Result<AvroSchema> {
+    let lookup = fields
+        .iter()
+        .enumerate()
+        .map(|f| (f.1.name.clone(), f.0))
+        .collect();
+
+    Ok(AvroSchema::Record(RecordSchema {
+        name: Name::new(name)?,
+        aliases: None,
+        doc: None,
+        fields,
+        lookup,
+        attributes: Default::default(),
+    }))
+}
+
+pub(crate) fn avro_fixed_schema(len: usize, logical_type: Option<&str>) -> 
Result<AvroSchema> {
+    let attributes = if let Some(logical_type) = logical_type {
+        BTreeMap::from([(
+            LOGICAL_TYPE.to_string(),
+            Value::String(logical_type.to_string()),
+        )])

Review Comment:
   No, it's not default. For here it's just because [avro::FixedSchema use 
BTreeMap](https://github.com/apache/avro/blob/da98719ad84bad1ef71c17779ba6b3c482d84b2c/lang/rust/avro/src/schema.rs#L814).
 And indeed HashMap can save more memory. But I find that seems avro prefer to 
use BTreeMap. (I'm not sure that maybe they need the sorted order when iterate 
it the attributes in serialization?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to