Reads one column, named name, from an open parquet_reader (reader)
into values, dispatched by its actual/declared type/kind and rank
(scalar 1-D values(:), one value per row -- the column_1d specifics;
or a full 2-D values(:,:), (element, row) values -- the array_full
specifics, for a vector column). null_value (optional) fills missing
entries; is_valid (optional) reports which elements were actually
present (same rank as values).
A scalar "string" column can also be read straight into a type(parquet_string_column)
(see module parquet_strings) instead of a padded character(len=...) array -- values is
cleared then filled with the whole column; every Null lands as %append_null(), so
neither null_value nor is_valid is accepted for this specific -- check %is_null(i)
afterward instead. Scalar (1-D) columns only.