Creates a new [`GenericByteBuilder`] from buffers. # Safety This doesn't verify buffer contents as it assumes the buffers are from existing and valid [`GenericByteArray`].
(
offsets_buffer: MutableBuffer,
value_buffer: MutableBuffer,
null_buffer: Option<MutableBuffer>,
)
| 63 | /// This doesn't verify buffer contents as it assumes the buffers are from |
| 64 | /// existing and valid [`GenericByteArray`]. |
| 65 | pub unsafe fn new_from_buffer( |
| 66 | offsets_buffer: MutableBuffer, |
| 67 | value_buffer: MutableBuffer, |
| 68 | null_buffer: Option<MutableBuffer>, |
| 69 | ) -> Self { |
| 70 | let offsets_builder: Vec<T::Offset> = |
| 71 | ScalarBuffer::<T::Offset>::from(offsets_buffer).into(); |
| 72 | let value_builder: Vec<u8> = ScalarBuffer::<u8>::from(value_buffer).into(); |
| 73 | |
| 74 | let null_buffer_builder = null_buffer |
| 75 | .map(|buffer| NullBufferBuilder::new_from_buffer(buffer, offsets_builder.len() - 1)) |
| 76 | .unwrap_or_else(|| NullBufferBuilder::new_with_len(offsets_builder.len() - 1)); |
| 77 | |
| 78 | Self { |
| 79 | offsets_builder, |
| 80 | value_builder, |
| 81 | null_buffer_builder, |
| 82 | } |
| 83 | } |
| 84 | |
| 85 | #[inline] |
| 86 | fn next_offset(&self) -> T::Offset { |