parquet_read_array_element_mode Interface

public interface parquet_read_array_element_mode

Reads one element position of a vector (array) column named name from an open parquet_reader (reader) across all rows: values receives that element (selected by the 1-based elem_index) from every row. Dispatched by values' actual/declared type/kind. null_value (optional) fills missing entries; is_valid (optional) reports which rows were actually present. See parquet_read_array_row_mode for the complementary "one row" access pattern. Unlike parquet_read_array_row_mode (which only needs one row group), this access pattern inherently touches every row, so every row group contributes -- none can be skipped. Instead, unless a row filter is active, this streams the file row group by row group (never materializing the whole column's flattened element count in a single internal call), so a vector column whose total element count (rows times per-row width) would otherwise exceed 2,147,483,647 can still be read this way. If a row filter is active (parquet_open_reader(..., filter=)/parquet_reader_set_filter), the whole (filtered) column is read instead, for the same reason parquet_read_array_row_mode falls back: elem_index then addresses the filtered result.


Module Procedures

private interface parquet_read_int32_array_element_mode()

Arguments

None

private interface parquet_read_int64_array_element_mode()

Arguments

None

private interface parquet_read_float32_array_element_mode()

Arguments

None

private interface parquet_read_float64_array_element_mode()

Arguments

None

private interface parquet_read_logical_array_element_mode()

Arguments

None

private interface parquet_read_string_array_element_mode()

Arguments

None

private interface parquet_read_date_array_element_mode()

Arguments

None

private interface parquet_read_time_array_element_mode()

Arguments

None

private interface parquet_read_timestamp_array_element_mode()

Arguments

None