Expand description
Safe typed reading from DuckDB data vectors.
VectorReader provides safe access to the typed data in a DuckDB vector
without requiring direct raw pointer manipulation.
§Pitfalls solved
- L5: Booleans are read as
u8 != 0, never asbool, becauseDuckDB’s C API does not guarantee the Rustboolinvariant (must be 0 or 1).
§Example
use quack_rs::vector::VectorReader;
use libduckdb_sys::{duckdb_data_chunk, duckdb_data_chunk_get_vector,
duckdb_data_chunk_get_size};
// Inside a DuckDB aggregate `update` callback:
// let reader = unsafe { VectorReader::new(chunk, 0) };
// for row in 0..reader.row_count() {
// if reader.is_valid(row) {
// let val = unsafe { reader.read_i64(row) };
// }
// }Structs§
- Vector
Reader - A typed reader for a single column in a
DuckDBdata chunk.