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.