Whether name contains any Null over the 1-based inclusive row-group range
row_group_lo..row_group_hi, answered from the file's own statistics. Both bounds are
accepted as integer(int32) or integer(int64); row_group_lo <= 0 means "every row group".
Reads no column data: Parquet records a null count per column chunk in the footer. That is what makes this worth calling before a read -- a caller that knows a column is Null-free can skip building a validity mask for it entirely.
Answers .true. when the column has at least one Null or when the file cannot say.
Statistics are optional in the Parquet format, so a chunk without them (or without a null
count) reads as "might have Nulls"; a dotted struct-field path is declined outright, because a
struct leaf's validity is combined with every ancestor struct's on read and the leaf's own null
count therefore does not describe the result. Treat .false. as a guarantee and .true. as
"assume the worst" -- that is the direction which keeps a caller that skips a mask on the
strength of this answer from ever meeting an unexpected Null.