scan method
Stream every row in primary-key order. One heap page resident at a time.
Implementation
Stream<Map<String, Object?>> scan() async* {
await for (final entry in _index.scan()) {
final bytes = await _heap.get(entry.value);
if (bytes == null) continue; // index/heap drift: skip
yield _decodeRow(bytes);
}
}