HP 3000 Manuals

Control Blocks [ TurboIMAGE/XL Database Management System Reference Manual ] MPE/iX 5.0 Documentation


TurboIMAGE/XL Database Management System Reference Manual

Control Blocks 

Run-time control blocks are created differently on MPE/iX. Also, a new
control block called the Database User Local Index (DBUX), which is
unique to each process, has been added.

Major Differences 

Run-time control blocks are no longer created as privileged extra data
segments.  Instead, on MPE/iX privileged mapped files are used.  If an
error occurs when MPE/iX opens a mapped file, the following error is
returned for status code -9:

     CANNOT CREATE controlblockname: FILE SYSTEM ERROR nn 

where controlblockname is one of the following:

     DBS
     DBG
     DBU
     DBR
     DBUX

and nn is the number of the file system error.  Refer to "Local Database
Access" in Chapter 10.

Specifically, control blocks are created as follows:

   *   The Database System Control Block (DBS) is stored in a permanent
       mapped file called TURBODBS.PUB.SYS. It is created as a permanent
       file and is unique to a system.  DBOPEN creates it if it does not
       exist and resets it after a system abort.

   *   The Database Globals Control Block (DBG) and the Database Buffer
       Area Control Block (DBB) are stored in a permanent mapped file
       called DatabaseNameGB which resides in the same group and account
       as the database.  DatabaseNameGB is created when the first user
       opens the database and purged when the last user exits.

   *   Each Database User Local Control Block (DBU) is stored in an
       unnamed/new mapped file.  A DBU is created each time a user does a
       DBOPEN for local database access.

   *   Each Database Remote Control Block (DBR) is stored in an
       unnamed/new mapped file.  A DBR is created each time a user does a
       DBOPEN for remote database access.

   *   The Database User Local Index Control Block (DBUX) is a new
       run-time control block stored in an unnamed/new mapped file.  One
       DBUX is created per process.  The database ID number serves as an
       index into the DBUX and points to the virtual addresses of all
       current DBU/DBRs belonging to that process.  127 entries are
       allowed, meaning that each user (process) is allowed 127 DBOPENs
       (63 per database).  Refer to the discussion of DBOPEN in Chapter 5
       for additional information.  If the DBUX is full and the user
       attempts to open another database, the following error is
       displayed for status code -198:

            TOTAL DBOPEN COUNT PER USER EXCEEDS LIMIT OF 127



MPE/iX 5.0 Documentation