arrow::array::builder

Type Alias StringRunBuilder

Source
pub type StringRunBuilder<K> = GenericByteRunBuilder<K, GenericStringType<i32>>;
Expand description

Builder for RunArray of StringArray

// Create a run-end encoded array with run-end indexes data type as `i16`.
// The encoded values are Strings.

let mut builder = StringRunBuilder::<Int16Type>::new();

// The builder builds the dictionary value by value
builder.append_value("abc");
builder.append_null();
builder.extend([Some("def"), Some("def"), Some("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: &StringArray = av.as_string::<i32>();

assert_eq!(ava.value(0), "abc");
assert!(av.is_null(1));
assert_eq!(ava.value(2), "def");
assert_eq!(ava.value(3), "abc");

Aliased Type§

struct StringRunBuilder<K> { /* private fields */ }

Implementations

Source§

impl<R, V> GenericByteRunBuilder<R, V>

Source

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.

Source

pub fn append_value( &mut self, input_value: impl AsRef<<V as ByteArrayType>::Native>, )

Appends value to the logical array encoded by the RunArray.

Source

pub fn append_null(&mut self)

Appends null to the logical array encoded by the RunArray.

Source

pub fn finish(&mut self) -> RunArray<R>

Creates the RunArray and resets the builder. Panics if RunArray cannot be built.

Source

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>

Source

pub fn new() -> GenericByteRunBuilder<R, V>

Creates a new GenericByteRunBuilder

Source

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>

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Returns the builder as a non-mutable Any reference.

Source§

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>

Returns the boxed builder as a box of Any.

Source§

fn len(&self) -> usize

Returns the length of logical array encoded by the eventual runs array.

Source§

fn finish(&mut self) -> Arc<dyn Array>

Builds the array and reset this builder.

Source§

fn finish_cloned(&self) -> Arc<dyn Array>

Builds the array without resetting the builder.

Source§

fn is_empty(&self) -> bool

Returns whether number of array slots is zero
Source§

impl<R, V> Debug for GenericByteRunBuilder<R, V>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<R, V> Default for GenericByteRunBuilder<R, V>

Source§

fn default() -> GenericByteRunBuilder<R, V>

Returns the “default value” for a type. Read more
Source§

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>>,

Extends a collection with the contents of an iterator. Read more
Source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
Source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more