Type Definition arrow_array::builder::StringRunBuilder

source ·
pub type StringRunBuilder<K> = GenericByteRunBuilder<K, Utf8Type>;
Expand description

Array builder for RunArray that encodes strings (Utf8Type).

// 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(),
  &Int16Array::from(vec![Some(1), Some(2), Some(4), Some(5)])
);

// Values are polymorphic and so require a downcast.
let av = array.values();
let ava: &StringArray = as_string_array(av.as_ref());

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