Database Low Level Configuration

This module manages the Bbuuzzb database engine configuration details. All configuration data elements are contained in this module. The configuration data elements are contained in a structure called dbeng_config. Here is the current definition of the configuration structure:

struct
   {
   char *tmp_path;
   char *log;
   int log_flag;
#ifdef MULTIUSER
   char *session_table;
   char *catalog;
   int session_flag;
   int catalog_flag;
   } dbeng_config = {(char *)NULL, (char *)NULL, FALSE, (char *)NULL,
                     (char *)NULL, TRUE, TRUE};
#else
   } dbeng_config = {(char *)NULL, (char *)NULL, FALSE};
#endif

As you can see from the definition of the configuration data structure, not all data elements are present all the time. The stand-alone version contains only the temporary path, the log file name and the log flag.

Applications should not call the functions in this module. Functions in this module should only be called by other low level Bbuuzzb engine functions.

Note that the support for the session table and the catalog are limited in this version of the database engine. The data elements are present along with the cooresponding get and set functions but the code to implement these features is not yet present.

Here is a list of functions in this module:

Module Dependencies

This module is part of stand-alone database access and needs to be linked with the following modules:

In the Unix platform, this module is compiled along with the other database modules as part of the script cdbeng. A good example of a Unix script for a client application that uses this low level configuration module is mkdb or mkdbsrv. There are a number of good example applications that use this engine including:

Module Header Files

This module depends on the following header files:

Module Functions

dbeng_config_read

Prototype   : int dbeng_config_read(char *fname)
Parameters  :
      Name  : fname
Description : configuration file name

Returns     : dbeng code

This function will open, read and parse the configuration file name. Any configuration values encountered that are valid will be applied.

dbeng_config_get_tmp_path

Prototype   : int dbeng_config_get_tmp_path(char *path)
Parameters  :
      Name  : path
Description : returned path

Returns     : dbeng code

This function will get and return the current temporary files path.

dbeng_config_get_log

Prototype   : int dbeng_config_get_log(char *slog)
Parameters  :
      Name  : slog
Description : returned log file name

Returns     : dbeng code

This function will get and return the current log path/file name. Note that the log is always set to the system log server while in multi-user mode.

dbeng_config_get_session

Prototype   : int dbeng_config_get_session(char *ses_table)
Parameters  :
      Name  : ses_table
Description : returned session table name

Returns     : dbeng code

This function will get and return the name of the current session table. Note that this function does not exist in stand-alone applications.

dbeng_config_get_catalog

Prototype   : int dbeng_config_get_catalog(char *cat)
Parameters  :
      Name  : cat
Description : returned catalog table name

Returns     : dbeng code

This function will get and return the name of the current catalog. Note that this function does not exist in stand-alone applications.

dbeng_config_get_log_flag

Prototype   : int dbeng_config_get_log_flag(int *flag)
Parameters  :
      Name  : flag
Description : returned log flag value

Returns     : dbeng code

This function will get and return the current log flag value.

dbeng_config_get_session_flag

Prototype   : int dbeng_config_get_session_flag(int *flag)
Parameters  :
      Name  : flag
Description : returned session table flag value

Returns     : dbeng code

This function will get and return the current session table flag value. Note that this function does not exist in stand-alone applications.

dbeng_config_get_catalog_flag

Prototype   : int dbeng_config_get_catalog_flag(int *flag)
Parameters  :
      Name  : flag
Description : returned catalog flag value

Returns     : dbeng code

This function will get and return the current catalog flag value. Note that this function does not exist in stand-alone applications.

dbeng_config_get_version

Prototype   : int dbeng_config_get_version(char *ver)
Parameters  :
      Name  : ver
Description : returned version string

Returns     : dbeng code

This function will get and return the current Bbuuzzb version string. Note that this version applies only to the Bbuuzzb database engine. In addition, each Future Lab GPL application has its own version string.

dbeng_config_set_tmp_path

Prototype   : int dbeng_config_set_tmp_path(char *path)
Parameters  :
      Name  : path
Description : temporary files path

Returns     : dbeng code

This function will set the current temporary files path. Note that the path supplied must be a valid directory that files can be written to (this will be checked).

dbeng_config_set_log

Prototype   : int dbeng_config_set_log(char *slog)
Parameters  :
      Name  : slog
Description : log path/file name

Returns     : dbeng code

This function will set the Bbuuzzb engine log to the log path/file name. Note that the directory path must be valid and capable of being written to (this will be checked). Also note that in multi-user mode, the log is always set to the system log server and cannot be changed.

dbeng_config_set_session

Prototype   : int dbeng_config_set_session(char *ses_table)
Parameters  :
      Name  : ses_table
Description : session table path/file name

Returns     : dbeng code

This function will set the current session table to the session table path/file name which must point to a valid directory and file name that can be written to (this will be checked). If the session table does not already exist, it will be created. If the session table is changed while the session table is active, the contents of the previous session table will be lost. Note that this function does not exist in stand-alone applications.

dbeng_config_set_catalog

Prototype   : int dbeng_config_set_catalog(char *cat)
Parameters  :
      Name  : cat
Description : catalog path/file name

Returns     : dbeng code

This function will set the catalog table to the catalog path/file name which must point to an existing file in a valid directory that can be read and written to (this will be checked). The catalog table must already exist and will not be automatically created by the Bbuuzzb engine. Note that this function does not exist in stand-alone applications.

dbeng_config_set_log_flag

Prototype   : int dbeng_config_set_log_flag(int flag)
Parameters  :
      Name  : flag
Description : log flag value

Returns     : dbeng code

This function will set the log flag to the log flag value which must be either zero or one.

dbeng_config_set_session_flag

Prototype   : int dbeng_config_set_session_flag(int flag)
Parameters  :
      Name  : flag
Description : session table flag value

Returns     : dbeng code

This function will set the session table flag to the session table flag value which must be either zero or one. Note that this function does not exist in stand-alone applications.

dbeng_config_set_catalog_flag

Prototype   : int dbeng_config_set_catalog_flag(int flag)
Parameters  :
      Name  : flag
Description : catalog flag value

Returns     : dbeng code

This function will set the catalog flag to the catalog flag value which must be zero or one. Note that this function does not exist in stand-alone applications.

dbeng_config_valid_tmp_path

Prototype   : int dbeng_config_valid_tmp_path(char *path)
Parameters  :
      Name  : path
Description : validation path

Returns     : dbeng code

This function will attempt to verify the validation path by opening a file for write.

dbeng_config_valid_log

Prototype   : int dbeng_config_valid_log(char *slog)
Parameters  :
      Name  : slog
Description : validation path/file name

Returns     : dbeng code

This function will attempt to verify the validation path/file name by opening the file for append.

dbeng_config_valid_session

Prototype   : int dbeng_config_valid_session(char *ses_table)
Parameters  :
      Name  : ses_table
Description : validation session table name

Returns     : dbeng code

This function will attempt to verify the validation session table name by opening the table. The table must already exist. Note that this function does not exist in stand-alone applications.

dbeng_config_valid_catalog

Prototype   : int dbeng_config_valid_catalog(char *cat)
Parameters  :
      Name  : cat
Description : validation catalog table name

Returns     : dbeng code

This function will attempt to verify the validation catalog table name by opening the table. The table must already exist. Note that this function does not exist in stand-alone applications.

dbeng_config_is_systable

Prototype   : int dbeng_config_is_systable(char *fname)
Parameters  :
      Name  : fname
Description : file/table name
Returns     : dbeng code

This function will determine whether the file/table name is a system table. Currently, a system table is either the session table or the system catalog.

Goto Top | Future Lab Home | Contact Webmaster | Feedback

Copyright © 1999-2000 Future Lab Inc., Last Updated May 2, 2000