| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | key |
raw key text from one %add call. |
||
| character(len=:), | intent(out), | allocatable | :: | name |
column name (possibly a dotted struct path). |
|
| logical, | intent(out) | :: | descending |
.true. for a descending key. |
||
| logical, | intent(out) | :: | ok |
.true. if the key parsed. |
||
| character(len=:), | intent(out), | allocatable | :: | errmsg |
parse-failure message; "" when ok. |
Parses one parquet_sortkey%add key ("ra asc", "-dec", "main.inner.age") into its column name and direction. Purely syntactic: reports a parse failure via ok/errmsg -- never aborts, so the caller can attach the reader's file context to the message -- and leaves every schema-dependent check (column exists, type is orderable) to the C++ side.
Declared here rather than in parquet_read.f90 (and public) because parquet_tables parses the same grammar for its own string key lists -- t%sort_by("ra,-dec"). One parser, so the read-time and in-memory spellings of a direction cannot drift apart.