Subject | Re: [Firebird-Architect] RFC: Proposal for the implementation |
---|---|
Author | Ann W. Harrison |
Post date | 2004-11-29T23:03:56Z |
At 05:48 AM 11/24/2004, Dmitry Yemanov wrote:
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.
Regards,
Ann
>... Hence I consider CCH aWow. The central metaphor of Firebird is the database page.
>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.
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.
Regards,
Ann