The global usage map on page 1 records free pages with set bits. Native global maps treat pages beyond an inline window or a missing reference window as free. Appending a live page therefore requires clearing its allocation bit even when it extends beyond the old window. The bitmap pages themselves must also be marked allocated.
A contiguous reservation first appends its complete run, then updates the map.
Map growth appends bitmap pages after that run. Inline promotion copies all old
bits into a native 05 01 bitmap page, initializes the newly covered range as
free, publishes the reference, and marks every new live page and bitmap used.
Map bitmap creation appends directly rather than reentering free-page reuse.
On the DAO-produced Northwind copy used by DaoRelationshipDropTests, an inline
map covered pages 0 through 3007 while the mutated database contained 3018 pages.
The child table definition at page 3008 lay in the implicitly free range. DAO’s
parent deletion reused that page for a usage-map bitmap, leaving the child
unreadable. Both an isolated inline-window extension and a native reference-map
promotion, with the known live pages marked used, allowed parent deletion and
preserved the child’s fields and recordset. The copied reference-map oracle also
marked its new backing page 3018 allocated. No table or relationship bytes were
changed in those controls.
GlobalAllocationAppendTests checks existing future-free bits, contiguous runs
crossing the inline boundary, backing-page allocation and malformed metadata.
The guarded DAO regression remains the native interoperability check for the
integrated writer; a manually corrected copy does not establish that verdict.
An established database’s malformed global page is refused, never initialized or cleared as a repair. Before free-page reuse or freeing a page, every reference pointer is checked for range, duplicate references, page-one aliases and the native bitmap page type. Every referenced bitmap must itself be covered and marked allocated. Allocation ranges, including any new backing bitmaps, must fit the map before writes begin. Creation supplies an initialized global map.
Table/index/LVAL usage maps, complete reachability auditing, power-loss durability and custom-stream recovery remain separate requirements in the TODO. File-backed mutations have the process-interruption recovery protocol described in transaction-crash-recovery.md.