In each database environment, Freeze maintains an internal table that contains type information describing all the databases in the environment. This table is an instance of a Freeze map in which the key is a string representing the database name and the value is an instance of
Freeze::CatalogData:
An entry describes an evictor database if the evictor member is true, in which case the
key and
value members are empty strings. An entry that describes a Freeze map sets
evictor to false; the
key and
value members contain the Slice types used when the map was defined.
Tools such as transformdb and
dumpdb (see
Chapter 37) access the catalog to obtain type information when none is supplied by the user. You can also use
dumpdb to display the catalog of a database environment.
Freeze applications may access the catalog in the same manner as any other Freeze map. For example, the following C++ code displays the contents of a catalog: