The Future Lab Bbuuzzb database engine is constructed consisting of two levels which we call low and high level. Throughout the Bbuuzzb documentation, you will see references to the low level or high level.
The database code has been constructed like this so that the developer can use one code set for both stand-alone and multi-user applications. All that is required is to link with the proper modules.
Functions on the low level have names that start with:
dbeng_
Modules and functions at the low level use a pointer to dbeng_table to access a database table. Functions at this level should only be called by other dbeng> functions.
The entire dbeng_table link list is contained in the module dbeng.c which we regard as the engine. This data structure is not and should not be visible outside dbeng.c.
Functions on the high level have namess that start with:
db_
Modules and functions at the high level use a tid (table ID) to access a database table. Using a table ID gives is a unique instance of a file pointer, file pointer position and all other members of the dbeng_table structure.
Generally, there are two versions of a high level API. One for stand-alone applications and one for client/server applications. At link time, the specific required module is included.