pub type BinaryRunBuilder<K> = GenericByteRunBuilder<K, GenericBinaryType<i32>>;
Expand description
Builder for RunArray
of BinaryArray
// Create a run-end encoded array with run-end indexes data type as `i16`.
// The encoded data is binary values.
let mut builder = BinaryRunBuilder::<Int16Type>::new();
// The builder builds the dictionary value by value
builder.append_value(b"abc");
builder.append_null();
builder.extend([Some(b"def"), Some(b"def"), Some(b"abc")]);
let array = builder.finish();
assert_eq!(array.run_ends().values(), &[1, 2, 4, 5]);
// Values are polymorphic and so require a downcast.
let av = array.values();
let ava: &BinaryArray = av.as_binary();
assert_eq!(ava.value(0), b"abc");
assert!(av.is_null(1));
assert_eq!(ava.value(2), b"def");
assert_eq!(ava.value(3), b"abc");
Aliased Type§
struct BinaryRunBuilder<K> { /* private fields */ }
Implementations
Source§impl<R, V> GenericByteRunBuilder<R, V>where
R: RunEndIndexType,
V: ByteArrayType,
impl<R, V> GenericByteRunBuilder<R, V>where
R: RunEndIndexType,
V: ByteArrayType,
Sourcepub fn append_option(
&mut self,
input_value: Option<impl AsRef<<V as ByteArrayType>::Native>>,
)
pub fn append_option( &mut self, input_value: Option<impl AsRef<<V as ByteArrayType>::Native>>, )
Appends optional value to the logical array encoded by the RunArray.
Sourcepub fn append_value(
&mut self,
input_value: impl AsRef<<V as ByteArrayType>::Native>,
)
pub fn append_value( &mut self, input_value: impl AsRef<<V as ByteArrayType>::Native>, )
Appends value to the logical array encoded by the RunArray.
Sourcepub fn append_null(&mut self)
pub fn append_null(&mut self)
Appends null to the logical array encoded by the RunArray.
Sourcepub fn finish(&mut self) -> RunArray<R>
pub fn finish(&mut self) -> RunArray<R>
Creates the RunArray and resets the builder. Panics if RunArray cannot be built.
Sourcepub fn finish_cloned(&self) -> RunArray<R>
pub fn finish_cloned(&self) -> RunArray<R>
Creates the RunArray and without resetting the builder. Panics if RunArray cannot be built.
Source§impl<R, V> GenericByteRunBuilder<R, V>where
R: ArrowPrimitiveType,
V: ByteArrayType,
impl<R, V> GenericByteRunBuilder<R, V>where
R: ArrowPrimitiveType,
V: ByteArrayType,
Sourcepub fn new() -> GenericByteRunBuilder<R, V>
pub fn new() -> GenericByteRunBuilder<R, V>
Creates a new GenericByteRunBuilder
Sourcepub fn with_capacity(
capacity: usize,
data_capacity: usize,
) -> GenericByteRunBuilder<R, V>
pub fn with_capacity( capacity: usize, data_capacity: usize, ) -> GenericByteRunBuilder<R, V>
Creates a new GenericByteRunBuilder
with the provided capacity
capacity
: the expected number of run-end encoded values.
data_capacity
: the expected number of bytes of run end encoded values
Trait Implementations
Source§impl<R, V> ArrayBuilder for GenericByteRunBuilder<R, V>where
R: RunEndIndexType,
V: ByteArrayType,
impl<R, V> ArrayBuilder for GenericByteRunBuilder<R, V>where
R: RunEndIndexType,
V: ByteArrayType,
Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Returns the builder as a mutable Any
reference.
Source§fn into_box_any(self: Box<GenericByteRunBuilder<R, V>>) -> Box<dyn Any>
fn into_box_any(self: Box<GenericByteRunBuilder<R, V>>) -> Box<dyn Any>
Returns the boxed builder as a box of Any
.
Source§fn len(&self) -> usize
fn len(&self) -> usize
Returns the length of logical array encoded by the eventual runs array.
Source§fn finish_cloned(&self) -> Arc<dyn Array>
fn finish_cloned(&self) -> Arc<dyn Array>
Builds the array without resetting the builder.
Source§impl<R, V> Debug for GenericByteRunBuilder<R, V>
impl<R, V> Debug for GenericByteRunBuilder<R, V>
Source§impl<R, V> Default for GenericByteRunBuilder<R, V>where
R: ArrowPrimitiveType,
V: ByteArrayType,
impl<R, V> Default for GenericByteRunBuilder<R, V>where
R: ArrowPrimitiveType,
V: ByteArrayType,
Source§fn default() -> GenericByteRunBuilder<R, V>
fn default() -> GenericByteRunBuilder<R, V>
Source§impl<R, V, S> Extend<Option<S>> for GenericByteRunBuilder<R, V>
impl<R, V, S> Extend<Option<S>> for GenericByteRunBuilder<R, V>
Source§fn extend<T>(&mut self, iter: T)where
T: IntoIterator<Item = Option<S>>,
fn extend<T>(&mut self, iter: T)where
T: IntoIterator<Item = Option<S>>,
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)