TurboIMAGE/XL Database Management System Reference Manual (30391-90012)
Table Of Contents
- 1 Introduction
- 2 Database Structure and Protection
- 3 Defining a Database
- 4 Using the Database
- 5 TurboIMAGE/XL Library Procedures
- Using TurboIMAGE/XL Intrinsics
- DBBEGIN
- DBCLOSE
- DBCONTROL
- DBDELETE
- DBEND
- DBERROR
- DBEXPLAIN
- DBFIND
- DBGET
- DBINFO
- INTRINSIC NUMBER 402
- Syntax
- Parameters
- Discussion
- Mode 101: Item Number
- Mode 102: Item Name
- Mode 103: Items in Database
- Mode 104: Items in Data Set
- Mode 113: BTREEMODE1 and Wildcard Character
- Mode 201: Set Number
- Mode 202: Set Name
- Mode 203: Sets in Database
- Mode 204: Sets with Item
- Mode 205: Set Capacity
- Mode 206: Number of Data Set Chunks
- Mode 207: Size of Data Set Chunks
- Mode 208: Primary and Actual Capacity
- Mode 209: B-Tree Attachment
- Mode 301: Paths
- Mode 302: Key or Search Item
- Mode 401: Logging
- Mode 402: ILR
- Mode 403: Dynamic Roll-Back
- Mode 404: Logging Subsystem Information
- Mode 406: Database Information
- Mode 501: Subsystem Access
- Mode 502: Critical Item Update
- Modes 8nn: Third-Party Indexing
- Mode 901: Language
- DBLOCK
- DBMEMO
- DBOPEN
- DBPUT
- DBUNLOCK
- DBUPDATE
- DBXBEGIN
- DBXEND
- DBXUNDO
- 6 Host Language Access
- Model Program
- ORDERS Database Model Program
- Main Body of Program
- Opening the Database
- Retrieving All the Records on a Chain (with Item Level Locking)
- Retrieving a Data Entry Using a Record Number
- Retrieving Master Data Using a Key Value
- Retrieving Data Serially (with Set Level Locking)
- Adding an Entry
- Updating an Entry
- Deleting an Entry
- Rewinding a Data Set
- Obtaining Database Information
- Obtaining Error Messages and Explanations
- Closing the Database
- C
- COBOL II
- Defining Data Types, Variables, and Intrinsics
- Main Body of Program
- Opening the Database
- Retrieving All the Records on a Chain (with Item Level Locking)
- Retrieving a Data Entry Using a Record Number
- Retrieving Master Data Using a Key Value
- Retrieving Data Serially (with Set Level Locking)
- Adding an Entry
- Updating an Entry
- Deleting an Entry
- Rewinding a Data Set
- Obtaining Database Information
- Obtaining Error Messages and Explanations
- Closing the Database
- FORTRAN 77
- Pascal
- RPG
- 7 Logging and Recovery
- Database Utilities Used in Logging and Recovery
- Recovery Options
- Logical Transactions
- Dynamic Roll-Back Recovery
- Intrinsic Level Recovery
- Logging Preparation
- Step 1--Checking MPE/iX Logging Configuration
- Step 2--Acquiring Logging Capability
- Step 3--Logging to Tape or Disk
- Step 4--Building a Log File for Logging to Disk
- Step 5--Creating the Log Identifier
- Step 6--Setting the Log Identifier
- Step 7--Setting Flags for the Database Backup Copy
- Step 8--Making a Database Backup Copy
- TurboSTORE/iX 7x24 True-Online Backup
- Logging Status
- Logging Maintenance
- Roll-Forward Recovery
- Roll-Back Recovery
- DBRECOV Commands Used with Roll-Forward and Roll-Back Recovery
- Recovery Tables
- Post-Recovery Options
- The Mirror Database
- 8 Using the Database Utilities
- Restructuring the Database with TurboIMAGE/XL Utilities
- Summary of Utility Routines
- Utility Program Operation
- DBLOAD
- DBRECOV
- >CONTROL
- >EXIT
- >FILE
- >RECOVER
- >ROLLBACK
- >RUN
- DBRESTOR
- DBSTORE
- DBUNLOAD
- DBUTIL
- >>ACTIVATE
- >>ADDINDEX
- >>CREATE
- >>DEACTIVATE
- >>DETACH
- >>DISABLE
- >>DROPINDEX
- >>ENABLE
- >>ERASE
- >>EXIT
- >>HELP
- >>MOVE
- >>PURGE
- >>REBUILDINDEX
- >>REDO
- >>RELEASE
- >>SECURE
- >>SET
- >>SHOW
- Syntax
- Parameters
- Example (Show Users)
- Example Discussion
- Example (Show All)
- Example Discussion
- Example (Show Capacity)
- Format of Show Device List
- Example (Show Device)
- Format of Show Indices
- Example (Show Indices)
- Format of Show Locks List
- Example 1 (Show Locks)
- Example 1 Discussion
- Example 2 (Show Locks)
- Example 2 Discussion
- >>VERIFY
- 9 Using a Remote Database
- 10 Internal Structures and Techniques
- 11 B-Tree Indices
- A Error Messages
- B Results of Multiple Access
- C Database Design Considerations
- D Multiple Calls to DBLOCK
- E TurboIMAGE/XL Log Record Formats
- F MPE/iX Log Record Formats
- G Recovery and Logging Quick Reference
- H TurboIMAGE/XL versus TurboIMAGE/V

108 Chapter4
Using the Database
Reading the Data
effectively allows you to use a data set in the same way you would use an MPE/iX file.
Thus, you have the advantages of TurboIMAGE/XL database organization and the
efficiency of serial access.
NOTE
When using serial access with master data sets, you should be aware of
migrating secondaries. These are described in chapter 10.
Locking. If concurrent users are allowed to modify the data set (access mode 1), you may
wish to lock the data set or database before you begin the serial access sequence. Locking
prevents entries from being added, modified, moved, or removed by the other processes.
Calculated Access
The calculated access method allows you to retrieve an entry from a master data set by
specifying a particular key item value. For example, the SUP-MASTER data entry for the
supplier Acme shown in Figure 4-2. can be retrieved with this method because SUPPLIER
is a key item in the SUP-MASTER data set. TurboIMAGE/XL locates the entry in the data
set whose key item value matches the requested value. The exact technique used to
perform calculated access is described in chapter 10.
Calculated access can be used only with master data sets. It is very useful for retrieving a
single entry for some special purpose. For example, a program used infrequently to get
information about a particular customer or supplier could use calculated access to quickly
locate the information in the ORDERS database.
Chained Access
The chained access method is used to retrieve the next entry in the current chain. To
perform chained access of detail data set entries, you must first locate the beginning of the
chain you want to retrieve, and thus establish the current chain, by calling the DBFIND
procedure. The calling program specifies the name of the detail search item that defines
the path to which the chain belongs and a value for the item. TurboIMAGE/XL determines
which master set forms a path with the specified search item and locates the entry in that
master data set whose key item value matches the specified value. The entry it locates
contains pointers to the first and last entries in the desired chain and a count of the
number of entries in the chain. This information is maintained internally and defines the
attributes of the current path.
If a program uses chained access to read the INVENTORY data set entries pertaining to
the supplier H&S SURPLUS shown in Figure 4-2. it must first call the DBFIND procedure
to locate the chain head in the SUP-MASTER data set. The program specifies the
INVENTORY data set, the SUPPLIER search item in the INVENTORY data set, and the
value H&S SURPLUS for that item. TurboIMAGE/XL uses a calculated read to locate the
SUP-MASTER entry with a key item value of H&S SURPLUS. If the program then
requests a forward chained read using the DBGET procedure, the entry in record 9 of
INVENTORY, which is set at the beginning of the chain, is read. If a backward chained
read is requested, the entry in record 5 is read.
If the last call to DBGET used chained access to read the entry in record 9, the next forward
chained read reads the entry in record 2 of the INVENTORY data set.
Once a current path and chain have been established for a detail data set, the calling