fn read_mask_batch(
array_reader: &mut dyn ArrayReader,
mask_cursor: &mut MaskCursor,
batch_size: usize,
) -> Result<Option<RecordBatch>>Expand description
Reads one logical Mask batch, potentially spanning multiple loaded ranges.
Each MaskCursor chunk is safe to decode because it stays within loaded
pages. Gaps are crossed with [ArrayReader::skip_records], while decoded
arrays and their mask fragments remain buffered. Once batch_size selected
rows have accumulated, this consumes the underlying batch and filters it
once with the combined mask.