Skip to content

Commit

Permalink
Remove unnecessary downcasts in builders (#3166)
Browse files Browse the repository at this point in the history
  • Loading branch information
tustvold committed Nov 23, 2022
1 parent a6f140f commit fa51333
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 26 deletions.
11 changes: 3 additions & 8 deletions arrow-array/src/builder/fixed_size_list_builder.rs
Expand Up @@ -111,16 +111,11 @@ where
/// Builds the [`FixedSizeListBuilder`] and reset this builder.
pub fn finish(&mut self) -> FixedSizeListArray {
let len = self.len();
let values_arr = self
.values_builder
.as_any_mut()
.downcast_mut::<T>()
.unwrap()
.finish();
let values_arr = self.values_builder.finish();
let values_data = values_arr.data();

assert!(
values_data.len() == len * self.list_len as usize,
assert_eq!(
values_data.len(), len * self.list_len as usize,
"Length of the child array ({}) must be the multiple of the value length ({}) and the array length ({}).",
values_data.len(),
self.list_len,
Expand Down
7 changes: 1 addition & 6 deletions arrow-array/src/builder/generic_list_builder.rs
Expand Up @@ -115,12 +115,7 @@ where
/// Builds the [`GenericListArray`] and reset this builder.
pub fn finish(&mut self) -> GenericListArray<OffsetSize> {
let len = self.len();
let values_arr = self
.values_builder
.as_any_mut()
.downcast_mut::<T>()
.unwrap()
.finish();
let values_arr = self.values_builder.finish();
let values_data = values_arr.data();

let offset_buffer = self.offsets_builder.finish();
Expand Down
14 changes: 2 additions & 12 deletions arrow-array/src/builder/map_builder.rs
Expand Up @@ -107,18 +107,8 @@ impl<K: ArrayBuilder, V: ArrayBuilder> MapBuilder<K, V> {
let len = self.len();

// Build the keys
let keys_arr = self
.key_builder
.as_any_mut()
.downcast_mut::<K>()
.unwrap()
.finish();
let values_arr = self
.value_builder
.as_any_mut()
.downcast_mut::<V>()
.unwrap()
.finish();
let keys_arr = self.key_builder.finish();
let values_arr = self.value_builder.finish();

let keys_field = Field::new(
self.field_names.key.as_str(),
Expand Down

0 comments on commit fa51333

Please sign in to comment.