Subject Re: [Firebird-Architect] RFC: Proposal for the implementation
Author Ann W. Harrison
At 05:48 AM 11/24/2004, Dmitry Yemanov wrote:

>... Hence I consider CCH a
>wrong module to handle temporary I/O. The required allocation/caching
>algorithm is provided by the SortMem class, which can be extended to produce
>a generic multi-purpose temp space manager.

Wow. The central metaphor of Firebird is the database page.
Database pages have significant structure and a fixed relationship
to the database files. They are very distinctly not just arbitrary
bits of memory.

The code that manipulates database pages is the cache manager.
cch.cpp has been mistreated over the years, so perhaps it's
no longer obvious that it not just an arbitrary temporary
space manager with stupid restrictions about the amount of
space it can manage. Vulcan encapsulates cch functionality in
a class called PageCache.

The page cache is absolutely the right place to handle database
pages, regardless of their origin.