pub struct StructWriter { /* private fields */ }Expand description
A batched writer for STRUCT output vectors.
Pre-creates a VectorWriter for every field at construction, allowing
direct typed writes without repeated duckdb_struct_vector_get_child calls.
Implementations§
Source§impl StructWriter
impl StructWriter
Sourcepub unsafe fn new(vector: duckdb_vector, field_count: usize) -> Self
pub unsafe fn new(vector: duckdb_vector, field_count: usize) -> Self
Creates a new StructWriter for a STRUCT vector with field_count fields.
This pre-creates a VectorWriter for each field index 0..field_count.
§Safety
vectormust be a valid, writableDuckDBSTRUCT vector.field_countmust match the number of fields in the STRUCT type.- The vector must remain valid for the lifetime of this writer.
Sourcepub fn field_count(&self) -> usize
pub fn field_count(&self) -> usize
Returns the number of fields in this struct writer.
Sourcepub fn field_mut(&mut self, field_idx: usize) -> &mut VectorWriter
pub fn field_mut(&mut self, field_idx: usize) -> &mut VectorWriter
Returns a mutable reference to the VectorWriter for the given field.
§Panics
Panics if field_idx >= field_count.
Sourcepub unsafe fn write_bool(&mut self, row: usize, field_idx: usize, value: bool)
pub unsafe fn write_bool(&mut self, row: usize, field_idx: usize, value: bool)
Sourcepub unsafe fn write_varchar(
&mut self,
row: usize,
field_idx: usize,
value: &str,
)
pub unsafe fn write_varchar( &mut self, row: usize, field_idx: usize, value: &str, )
Sourcepub unsafe fn write_i128(&mut self, row: usize, field_idx: usize, value: i128)
pub unsafe fn write_i128(&mut self, row: usize, field_idx: usize, value: i128)
Sourcepub unsafe fn write_interval(
&mut self,
row: usize,
field_idx: usize,
value: DuckInterval,
)
pub unsafe fn write_interval( &mut self, row: usize, field_idx: usize, value: DuckInterval, )
Sourcepub unsafe fn write_blob(&mut self, row: usize, field_idx: usize, value: &[u8])
pub unsafe fn write_blob(&mut self, row: usize, field_idx: usize, value: &[u8])
Sourcepub unsafe fn write_uuid(&mut self, row: usize, field_idx: usize, value: i128)
pub unsafe fn write_uuid(&mut self, row: usize, field_idx: usize, value: i128)
Sourcepub unsafe fn write_str(&mut self, row: usize, field_idx: usize, value: &str)
pub unsafe fn write_str(&mut self, row: usize, field_idx: usize, value: &str)
Writes a VARCHAR string value to field field_idx at row row.
Alias for write_varchar.
§Safety
See write_varchar.
Sourcepub unsafe fn write_date(
&mut self,
row: usize,
field_idx: usize,
days_since_epoch: i32,
)
pub unsafe fn write_date( &mut self, row: usize, field_idx: usize, days_since_epoch: i32, )
Sourcepub unsafe fn write_timestamp(
&mut self,
row: usize,
field_idx: usize,
micros_since_epoch: i64,
)
pub unsafe fn write_timestamp( &mut self, row: usize, field_idx: usize, micros_since_epoch: i64, )
Sourcepub unsafe fn write_time(
&mut self,
row: usize,
field_idx: usize,
micros_since_midnight: i64,
)
pub unsafe fn write_time( &mut self, row: usize, field_idx: usize, micros_since_midnight: i64, )
Auto Trait Implementations§
impl Freeze for StructWriter
impl RefUnwindSafe for StructWriter
impl !Send for StructWriter
impl !Sync for StructWriter
impl Unpin for StructWriter
impl UnsafeUnpin for StructWriter
impl UnwindSafe for StructWriter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more