MCPcopy Create free account
hub / github.com/apache/arrow-rs / from

Method from

arrow-array/src/array/fixed_size_binary_array.rs:599–627  ·  view source on GitHub ↗
(data: ArrayData)

Source from the content-addressed store, hash-verified

597
598impl From<ArrayData> for FixedSizeBinaryArray {
599 fn from(data: ArrayData) -> Self {
600 let (data_type, len, nulls, offset, buffers, _child_data) = data.into_parts();
601
602 assert_eq!(
603 buffers.len(),
604 1,
605 "FixedSizeBinaryArray data should contain 1 buffer only (values)"
606 );
607 let value_length = match data_type {
608 DataType::FixedSizeBinary(len) => len,
609 _ => panic!("Expected data type to be FixedSizeBinary"),
610 };
611
612 let value_size = value_length
613 .to_usize()
614 .expect("FixedSizeBinaryArray value length must be non-negative");
615 let value_data = buffers[0].slice_with_length(
616 offset.checked_mul(value_size).expect("offset overflow"),
617 len.checked_mul(value_size).expect("length overflow"),
618 );
619
620 Self {
621 data_type,
622 nulls,
623 len,
624 value_data,
625 value_size,
626 }
627 }
628}
629
630impl From<FixedSizeBinaryArray> for ArrayData {

Callers

nothing calls this directly

Calls 15

FixedSizeBinaryClass · 0.85
to_usizeMethod · 0.80
slice_with_lengthMethod · 0.80
child_dataMethod · 0.80
add_bufferMethod · 0.80
into_partsMethod · 0.45
checked_mulMethod · 0.45
nullsMethod · 0.45
buffersMethod · 0.45
lenMethod · 0.45
build_uncheckedMethod · 0.45
value_lengthMethod · 0.45

Tested by

no test coverage detected