| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(parquet_reader), | intent(in) | :: | reader |
open reader. |
||
| character(len=:), | intent(out), | allocatable | :: | names(:) |
one entry per column, schema order. |
Returns every column reader's file contains, in schema order, as the same
(possibly dotted) names every other column-name argument in this module accepts:
a nested STRUCT field contributes one entry per leaf beneath it ("addr.city"), never
its own bare name, and every other field contributes one entry under its own name.
names comes back allocated to exactly the column count, each element trimmed to the
longest name present (blank-padded), so trim(names(i)) is the name to pass on.
A zero-column file yields a zero-size names.
LIST/MAP columns (and any leaf beneath a struct that is itself a LIST/MAP) ARE listed,
even though no read entry point supports them: the purpose here is to report what the
file actually holds. Pass a listed name to parquet_column_exists (no types) or
parquet_get_column_type to find out whether it can be read.