asubiotto commented on code in PR #8978:
URL: https://github.com/apache/arrow-rs/pull/8978#discussion_r2606532180
##########
arrow-select/src/interleave.rs:
##########
@@ -346,6 +347,57 @@ fn interleave_fallback(
Ok(make_array(array_data.freeze()))
}
+/// interleave_fallback_dictionary is a fallback implementation for
interleaving
+/// dictionaries when it was determined that the dictionary values should not
+/// be merged. This implementation concatenates the value slices and recomputes
+/// the resulting dictionary keys.
+fn interleave_fallback_dictionary<K: ArrowDictionaryKeyType>(
+ dictionaries: &[&DictionaryArray<K>],
+ indices: &[(usize, usize)],
+) -> Result<ArrayRef, ArrowError> {
+ // Compute offsets for each dictionary's keys in the merged values array
+ let mut offsets = Vec::with_capacity(dictionaries.len());
+ let mut current_offset = 0usize;
+ for dict in dictionaries.iter() {
Review Comment:
Done.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]