Skip to content

Commit a0e79a4

Browse files
committed
Updating.
1 parent 2f3f34a commit a0e79a4

File tree

1 file changed

+4
-18
lines changed

1 file changed

+4
-18
lines changed

arrow-array/src/builder/generic_bytes_view_builder.rs

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -371,23 +371,9 @@ impl<T: ByteViewType + ?Sized> GenericByteViewBuilder<T> {
371371
let to_reserve = v.len().max(self.block_size.next_size() as usize);
372372
self.in_progress.reserve(to_reserve);
373373
};
374-
let offset: u32 = self.in_progress.len().try_into().map_err(|_| {
375-
ArrowError::InvalidArgumentError(format!(
376-
"In-progress buffer length {} exceeds u32::MAX",
377-
self.in_progress.len()
378-
))
379-
})?;
380-
self.in_progress.extend_from_slice(v);
381374

382-
let prefix = v
383-
.get(0..4)
384-
.and_then(|slice| slice.try_into().ok())
385-
.map(u32::from_le_bytes)
386-
.ok_or_else(|| {
387-
ArrowError::InvalidArgumentError(
388-
"String must be at least 4 bytes for non-inline view".to_string(),
389-
)
390-
})?;
375+
let offset = self.in_progress.len() as u32;
376+
self.in_progress.extend_from_slice(v);
391377

392378
let buffer_index: u32 = self.completed.len().try_into().map_err(|_| {
393379
ArrowError::InvalidArgumentError(format!(
@@ -398,7 +384,8 @@ impl<T: ByteViewType + ?Sized> GenericByteViewBuilder<T> {
398384

399385
let view = ByteView {
400386
length,
401-
prefix,
387+
// This won't panic as we checked the length of prefix earlier.
388+
prefix: u32::from_le_bytes(v[0..4].try_into().unwrap()),
402389
buffer_index,
403390
offset,
404391
};
@@ -620,7 +607,6 @@ mod tests {
620607
use core::str;
621608

622609
use super::*;
623-
use crate::Array;
624610

625611
#[test]
626612
fn test_string_view_deduplicate() {

0 commit comments

Comments
 (0)