From 98788272162ca421ead5663594360b4fdcedabb4 Mon Sep 17 00:00:00 2001 From: kf zheng <100595273+kev1n8@users.noreply.github.com> Date: Fri, 23 Aug 2024 12:00:30 +0800 Subject: [PATCH] add a api to append view by u128 in for view_builder --- .../src/builder/generic_bytes_view_builder.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arrow-array/src/builder/generic_bytes_view_builder.rs b/arrow-array/src/builder/generic_bytes_view_builder.rs index deaf447d0e6e..f7467d57d342 100644 --- a/arrow-array/src/builder/generic_bytes_view_builder.rs +++ b/arrow-array/src/builder/generic_bytes_view_builder.rs @@ -205,6 +205,19 @@ impl GenericByteViewBuilder { self.null_buffer_builder.append_non_null(); } + /// Append the given `u128` as a view + /// + /// # Safety + /// (1) The block of the given view must have been added + /// (2) The range `offset...offset+length` of the given view + /// must be within the bounds of the block + /// (3) The data in the block must be valid type `T` + /// (4) The view must be not null + pub unsafe fn append_view_u128_unchecked(&mut self, view: u128) { + self.views_builder.append(view); + self.null_buffer_builder.append_non_null(); + } + /// Try to append a view of the given `block`, `offset` and `length` /// /// See [`Self::append_block`]