parquet_get_column_names Interface

interface
public module subroutine parquet_get_column_names(reader, names)

Arguments

Type IntentOptional Attributes Name
type(parquet_reader), intent(in) :: reader

open reader.

character(len=:), intent(out), allocatable :: names(:)

one entry per column, schema order.

Description

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.