The Future Lab Bbuuzzb database engine contains a feature and configuration option called catalog.
The catalog is a Bbuuzzb system table that is used internally by the database engine to store path/file names, logical table names, replication details and the autopack threshold. The main idea is that the user/developer might not and should really not know where the database engine has physically stored a table.
By default, the database server will only open tables that have been cataloged. The process of cataloging a table involves registering the logical table name and path/file location with the database catalog. Once the table has been registered or cataloged. It may be opened by referring to its logical table name instead of the actual file name. Here is the current layout of the catalog:
Field # Sub-Field # Sub-Sub-Field # Description 1 - - logical table name (must be unique) 2 - - physical path/file name 3 list 1 target server TCP port number 3 " 2 logical table name 4 - - autopack threshold
Table replication details are stored in field three as a sub-field array.
The catalog can be used in single user mode or in client/server mode. In single user mode, the catalog is only turned on if a valid catalog entry has been given in the catalog configuration file entry. The specific catalog in use can be changed by calling the configuration procedure db_config_set_catalog. The catalog feature can be turned off by calling the procedure db_config_set_catalog_flag. Once you turn off the catalog feature, all tables will have to be opened with the explicit path and file name.
The catalog is on by default when the database server initializes. It is considered a fatal error if the catalog cannot be opened by the database server.