Skip to content

Commit 7019c1e

Browse files
committed
Apply ordering to metadata keys before encoding
1 parent 5f0aed6 commit 7019c1e

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

arrow-ipc/src/convert.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,12 @@ pub fn metadata_to_fb<'a>(
138138
fbb: &mut FlatBufferBuilder<'a>,
139139
metadata: &HashMap<String, String>,
140140
) -> WIPOffset<Vector<'a, ForwardsUOffset<KeyValue<'a>>>> {
141-
let custom_metadata = metadata
142-
.iter()
143-
.map(|(k, v)| {
141+
let mut ordered_keys = metadata.keys().collect::<Vec<_>>();
142+
ordered_keys.sort();
143+
let custom_metadata = ordered_keys
144+
.into_iter()
145+
.map(|k| {
146+
let v = metadata.get(k).unwrap();
144147
let fb_key_name = fbb.create_string(k);
145148
let fb_val_name = fbb.create_string(v);
146149

0 commit comments

Comments
 (0)