Chris,
>
> Just an observation: Calling PageInventoryPage::isPageInUse() from
> Cache::fetchPage() results in a single recursive call to
> Cache::fetchPage(). We are protected from infinite recursion (e.g. if
> dbb->pagesPerPip == 1) and a blown stack because of the filter on
> pageType != PAGE_Inventory.
Right. Been there, did that, decided not to checks whether PIPs marked
themselves.
>
> Would it be worthwhile to combine PageInventoryPage::isPageInUse() and
> ::markPageInUse()?
I don't think so. The two calls were preexisting, probably used for
debugging earlier problems. markPageInUse is called from section
during recovery. So having the separate is good, I think.
>
> May want to add a new line at the end of Dbb.cpp
OK.
>