The Tcl database catalog management module has the file name dbengcat.tcl. This module provides catalog management features for the Bbuuzzb databse engine and server.
The catalog is a regular Bbuuzzb table containing table details including the physical OS file name, a logical table name, autopack threshold, and replication details.
This Tcl version stores catalog details for a single table in the global dbengcat_details array.
Here is a list of procedures in this module:
This module is part of any single user database application and the Bbuuzzb database server and requires the following modules:
The following modules are required along with this module:
Declaration : proc dbeng_catalog_new {tname fname}
Parameters :
Name : tname
Type : string
Description : logical table name
Name : fname
Type : string
Description : physical OS file name
Returns : dbeng code
This procedure will create a new entry in the catalog. The logical table name must not already exist in the catalog.
Declaration : proc dbeng_catalog_new_table {iname oname systable_flag}
Parameters :
Name : iname
Type : string
Description : input name(s)
Name : oname
Type : string
Description : output name
Name : systable_flag
Type : boolean flag
Description : system table flag
Returns : dbeng code
This procedure will translate the table name(s) to the proper output name required by the db_new_table procedure. The input name(s) may contain a single name or two names comma delimited. A single name is assumed to be the table physical file name. Two names are assumed to be the table logical name followed by the physical name. The translated name is placed into the output name upon success.
Declaration : proc dbeng_catalog_delete {tname}
Parameters :
Name : tname
Type : string
Description : logical table name
Returns : dbeng code
This procedure will delete a catalog entry by its logical table name.
Declaration : proc dbeng_catalog_table_details {tname systbale_flag}
Parameters :
Name : tname
Type : string
Description : logical table name
Name : systable_flag
Type : boolean flag
Description : system table flag
Returns : dbeng code
This procedure will find a catalog entry by its logical table name and load all catalog details into the array dbengcat_details.
Declaration : proc dbeng_catalog_fname {tname fname}
Parameters :
Name : tname
Type : string
Description : input logical table name
Name : fname
Type : string
Description : output physical file name
Returns : dbeng code
This procedure will locate and return the output physical file name based on the input logical table name. This function assumes that the catalog is currently closed.
Declaration : proc dbeng_catalog_list {pat lout}
Parameters :
Name : pat
Type : string
Description : input match pattern
Name : lout
Type : string
Description : output catalog list
Returns : dbeng code
This procedure will return a list of matching table names (logical) from the system catalog. The list is returned in the output catalog list. The list is delimited by DBENG_LIST_DELIM. Each entry in the list contains the logical name followed by the file/path name (physical name). The two fields in the list are delimited by a comma. The input match pattern may contain a pattern acceptable to the Tcl string match command. If the input match pattern is empty, all entries from the catalog will be returned.
Declaration : proc dbeng_catalog_tfind {tname}
Parameters :
Name : tname
Type : string
Description : input logical table name
Returns : dbeng code
This procedure will attempt to locate the input logical table name within the catalog. The catalog is assumed to already be open.
Declaration : proc dbeng_catalog_open {}
Returns : dbeng code
This procedue will open the catalog.
Declaration : proc dbeng_catalog_close {}
Returns : dbeng code
This procedure will close the catalog.