parquet_columns_access Submodule

Per-kind value access for parquet_column: get_at, set_at, set_all and data_ptr over every array kind. The string kinds live in parquet_columns_string instead, because they delegate to parquet_string_column (DD1).

Validity handling follows the RF9 rule table: writing a value CLEARS that row's null bit, so a default set_all drops the bitmap outright (O(1), no scan); modify_nulls=.false. leaves the null entries and the bitmap untouched. Temporal kinds carry their null state inside the element, so they only invalidate the cached null flag.

modify_nulls=.false. skips null ELEMENTS, not whole rows. On a vector kind it writes every element whose own bit is clear and leaves the null ones alone, rather than refusing the whole row because one element of it is null -- matching the rule that each operation acts at the granularity the caller named. The default (.true.) path is untouched by this and stays a single whole-array assignment with no per-element work, so the common case costs nothing.


Uses