pub struct FixedSizeListBuilder<T: ArrayBuilder> {
    null_buffer_builder: NullBufferBuilder,
    values_builder: T,
    list_len: i32,
    field: Option<FieldRef>,
}Expand description
Builder for FixedSizeListArray
use arrow_array::{builder::{Int32Builder, FixedSizeListBuilder}, Array, Int32Array};
let values_builder = Int32Builder::new();
let mut builder = FixedSizeListBuilder::new(values_builder, 3);
//  [[0, 1, 2], null, [3, null, 5], [6, 7, null]]
builder.values().append_value(0);
builder.values().append_value(1);
builder.values().append_value(2);
builder.append(true);
builder.values().append_null();
builder.values().append_null();
builder.values().append_null();
builder.append(false);
builder.values().append_value(3);
builder.values().append_null();
builder.values().append_value(5);
builder.append(true);
builder.values().append_value(6);
builder.values().append_value(7);
builder.values().append_null();
builder.append(true);
let list_array = builder.finish();
assert_eq!(
    *list_array.value(0),
    Int32Array::from(vec![Some(0), Some(1), Some(2)])
);
assert!(list_array.is_null(1));
assert_eq!(
    *list_array.value(2),
    Int32Array::from(vec![Some(3), None, Some(5)])
);
assert_eq!(
    *list_array.value(3),
    Int32Array::from(vec![Some(6), Some(7), None])
)Fields§
§null_buffer_builder: NullBufferBuilder§values_builder: T§list_len: i32§field: Option<FieldRef>Implementations§
Source§impl<T: ArrayBuilder> FixedSizeListBuilder<T>
 
impl<T: ArrayBuilder> FixedSizeListBuilder<T>
Sourcepub fn new(values_builder: T, value_length: i32) -> Self
 
pub fn new(values_builder: T, value_length: i32) -> Self
Creates a new FixedSizeListBuilder from a given values array builder
value_length is the number of values within each array
Sourcepub fn with_capacity(
    values_builder: T,
    value_length: i32,
    capacity: usize,
) -> Self
 
pub fn with_capacity( values_builder: T, value_length: i32, capacity: usize, ) -> Self
Creates a new FixedSizeListBuilder from a given values array builder
value_length is the number of values within each array
capacity is the number of items to pre-allocate space for in this builder
Sourcepub fn with_field(self, field: impl Into<FieldRef>) -> Self
 
pub fn with_field(self, field: impl Into<FieldRef>) -> Self
Override the field passed to FixedSizeListArray::new
By default, a nullable field is created with the name item
Note: Self::finish and Self::finish_cloned will panic if the
field’s data type does not match that of T
Source§impl<T> FixedSizeListBuilder<T>where
    T: 'static + ArrayBuilder,
 
impl<T> FixedSizeListBuilder<T>where
    T: 'static + ArrayBuilder,
Sourcepub fn values(&mut self) -> &mut T
 
pub fn values(&mut self) -> &mut T
Returns the child array builder as a mutable reference.
This mutable reference can be used to append values into the child array builder,
but you must call append to delimit each distinct list value.
Sourcepub fn value_length(&self) -> i32
 
pub fn value_length(&self) -> i32
Returns the length of the list
Sourcepub fn finish(&mut self) -> FixedSizeListArray
 
pub fn finish(&mut self) -> FixedSizeListArray
Builds the FixedSizeListBuilder and reset this builder.
Sourcepub fn finish_cloned(&self) -> FixedSizeListArray
 
pub fn finish_cloned(&self) -> FixedSizeListArray
Builds the FixedSizeListBuilder without resetting the builder.
Sourcepub fn validity_slice(&self) -> Option<&[u8]>
 
pub fn validity_slice(&self) -> Option<&[u8]>
Returns the current null buffer as a slice
Trait Implementations§
Source§impl<T> ArrayBuilder for FixedSizeListBuilder<T>where
    T: 'static + ArrayBuilder,
 
impl<T> ArrayBuilder for FixedSizeListBuilder<T>where
    T: 'static + ArrayBuilder,
Source§fn as_any_mut(&mut self) -> &mut dyn Any
 
fn as_any_mut(&mut self) -> &mut dyn Any
Returns the builder as a mutable Any reference.
Source§fn finish_cloned(&self) -> ArrayRef
 
fn finish_cloned(&self) -> ArrayRef
Builds the array without resetting the builder.