Skip to main content

Module reader

Module reader 

Source
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 as bool, because DuckDB’s C API does not guarantee the Rust bool invariant (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§

VectorReader
A typed reader for a single column in a DuckDB data chunk.