Everything here backs the parquet_get_metadata generic (declared in
parquet_core.f90): reader%metadata is populated once, by parquet_open_reader
(parquet_read.f90) copying the Arrow schema's flat key-value metadata,
so every call here only scans that in-memory array -- it never touches
the file. Messages follow the "