parquet_column_any_null Interface

interface
public module function parquet_column_any_null(col) result(res)

Arguments

Type IntentOptional Attributes Name
type(parquet_column), intent(in) :: col

the column.

Return Value logical

.true. when at least one row is null.

Description

Whether the column holds at least one null, WITHOUT writing to it -- the read path's form of any_null, and the one every shared reader must use.

Identical answer, and identical cost on every kind but one. A temporal column's cache is read when it is clean and simply re-scanned when it is dirty, rather than being refreshed: the memoisation is an optimisation for any_null, never part of the answer, so giving it up costs a dirty column one O(n) walk per call and buys the property that any number of threads may ask at once.

type(parquet_column), not class, for the reason the per-cell tier above records -- and a class actual may be passed to it freely, which is how the two bulk validity walks in this module reach it while holding self by intent(in).