pub struct ValueBuilder(Vec<u8>);
Expand description
Wrapper around a Vec<u8>
that provides methods for appending
primitive values, variant types, and metadata.
This is used internally by the builders to construct the
the value
field for Variant
values.
You can reuse an existing Vec<u8>
by using the from
impl
Tuple Fields§
§0: Vec<u8>
Implementations§
Source§impl ValueBuilder
impl ValueBuilder
Source§impl ValueBuilder
impl ValueBuilder
fn append_u8(&mut self, term: u8)
fn append_slice(&mut self, other: &[u8])
fn append_primitive_header(&mut self, primitive_type: VariantPrimitiveType)
Sourcepub fn into_inner(self) -> Vec<u8> ⓘ
pub fn into_inner(self) -> Vec<u8> ⓘ
Returns the underlying buffer, consuming self
fn inner_mut(&mut self) -> &mut Vec<u8> ⓘ
fn append_null(&mut self)
fn append_bool(&mut self, value: bool)
fn append_int8(&mut self, value: i8)
fn append_int16(&mut self, value: i16)
fn append_int32(&mut self, value: i32)
fn append_int64(&mut self, value: i64)
fn append_float(&mut self, value: f32)
fn append_double(&mut self, value: f64)
fn append_date(&mut self, value: NaiveDate)
fn append_timestamp_micros(&mut self, value: DateTime<Utc>)
fn append_timestamp_ntz_micros(&mut self, value: NaiveDateTime)
fn append_time_micros(&mut self, value: NaiveTime)
fn append_timestamp_nanos(&mut self, value: DateTime<Utc>)
fn append_timestamp_ntz_nanos(&mut self, value: NaiveDateTime)
fn append_uuid(&mut self, value: Uuid)
fn append_decimal4(&mut self, decimal4: VariantDecimal4)
fn append_decimal8(&mut self, decimal8: VariantDecimal8)
fn append_decimal16(&mut self, decimal16: VariantDecimal16)
fn append_binary(&mut self, value: &[u8])
fn append_short_string(&mut self, value: ShortString<'_>)
fn append_string(&mut self, value: &str)
fn append_object(state: ParentState<'_>, obj: VariantObject<'_, '_>)
fn try_append_object( state: ParentState<'_>, obj: VariantObject<'_, '_>, ) -> Result<(), ArrowError>
fn append_list(state: ParentState<'_>, list: VariantList<'_, '_>)
fn try_append_list( state: ParentState<'_>, list: VariantList<'_, '_>, ) -> Result<(), ArrowError>
Sourcepub fn append_variant(state: ParentState<'_>, variant: Variant<'_, '_>)
pub fn append_variant(state: ParentState<'_>, variant: Variant<'_, '_>)
Appends a variant to the builder.
§Panics
This method will panic if the variant contains duplicate field names in objects
when validation is enabled. For a fallible version, use ValueBuilder::try_append_variant
Sourcepub fn try_append_variant(
state: ParentState<'_>,
variant: Variant<'_, '_>,
) -> Result<(), ArrowError>
pub fn try_append_variant( state: ParentState<'_>, variant: Variant<'_, '_>, ) -> Result<(), ArrowError>
Tries to append a variant to the provided ParentState
instance.
The attempt fails if the variant contains duplicate field names in objects when validation is enabled.
Sourcepub fn append_variant_bytes(state: ParentState<'_>, variant: Variant<'_, '_>)
pub fn append_variant_bytes(state: ParentState<'_>, variant: Variant<'_, '_>)
Appends a variant to the buffer by copying raw bytes when possible.
For objects and lists, this directly copies their underlying byte representation instead of performing a logical copy and without touching the metadata builder. For other variant types, this falls back to the standard append behavior.
The caller must ensure that the metadata dictionary is already built and correct for any objects or lists being appended.
Sourcefn append_header_start_from_buf_pos(
&mut self,
start_pos: usize,
header_byte: u8,
is_large: bool,
num_fields: usize,
) -> usize
fn append_header_start_from_buf_pos( &mut self, start_pos: usize, header_byte: u8, is_large: bool, num_fields: usize, ) -> usize
Writes out the header byte for a variant object or list, from the starting position of the builder, will return the position after this write
Sourcefn append_offset_array_start_from_buf_pos(
&mut self,
start_pos: usize,
offsets: impl IntoIterator<Item = usize>,
data_size: Option<usize>,
nbytes: u8,
) -> usize
fn append_offset_array_start_from_buf_pos( &mut self, start_pos: usize, offsets: impl IntoIterator<Item = usize>, data_size: Option<usize>, nbytes: u8, ) -> usize
Writes out the offsets for an array of offsets, including the final offset (data size). from the starting position of the buffer, will return the position after this write