page method
1-based page accessor. Returns the WAL-overridden version when one exists, otherwise reads the page out of the main file.
Implementation
Uint8List page(int pageNumber) {
if (pageNumber < 1 || pageNumber > _logicalPageCount) {
throw RangeError('page $pageNumber out of range '
'(1..$_logicalPageCount)');
}
final overridden = _walOverrides[pageNumber];
if (overridden != null) return overridden;
if (pageNumber > header.dbSizeInPages) {
// The WAL extended the file but didn't supply this page (corrupt
// WAL or our caller asked for a page beyond the commit frame).
throw RangeError('page $pageNumber not present in db or WAL');
}
final start = (pageNumber - 1) * header.pageSize;
return Uint8List.sublistView(bytes, start, start + header.pageSize);
}