Eloquence implements all DBINFO modes that are provided
with TurboIMAGE. For each DBINFO mode a short functional overview
is provided with additional notes to describe specifc Eloquence
behavior or limitations. For a detailed description of the DBINFO
modes please refer to the TurboIMAGE documentation.
Additional database documentation
Related documentation
Eloquence provides all DBINFO modes.
For each DBINFO mode a short description is provided along with
notes that describe possible Eloquence specific behavior.
Mode 101: Item Number
Mode 101 defines the type of access available for a specific item.
Qualifier identifies the data item name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | +/- Data item number |
-----------------------------------------------------
If the data item number is positive, the user class has only
read access to the data item. If the number is negative, the
data item can be updated or the entry containing it can be
added or deleted in at least one data set.
Notes:
- Data item number is always negative since Eloquence does
not support item level security. All data items are considered
writable.
Mode 102: Item Name
Mode 102 describes a specific data item.
Qualifier identifies the data item name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1-8 | Data item name |
-----------------------------------------------------
| 9 | One of the following data types |
| | followed by a blank: |
| | I, J, K, R, U, X, Z, P |
-----------------------------------------------------
| 10 | Sub-item length |
-----------------------------------------------------
| 11 | Sub-item count |
-----------------------------------------------------
| 12 | 0 |
-----------------------------------------------------
| 13 | 0 |
-----------------------------------------------------
The data item name is left-justified and will be padded with
blanks if the name is shorter than 16 characters.
Notes:
- Element 12 returns the Eloquence format number which
can be defined in the schema processor or modified in
DBUTIL (B.07.00).
- The 'R' item type is supported in TurboIMAGE compatibility
only, values are expected to be encoded in IEEE format.
Native Eloquence considers this an 'E' type.
- The 'J' item type is supported in TurboIMAGE compatibility
only. Native Eloquence considers this an 'I' type.
Mode 103: Items in Database
Mode 103 identifies data items available in the database and displays the
type of access allowed. This mode does not identify unreferenced data
items, that is, those items that are defined in the item section of the
schema but are not referenced by at least one data set.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Item count x |
-----------------------------------------------------
| 2 | +/- Data item number 1 |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| n + 1 | +/- Data item number n |
-----------------------------------------------------
If the data item number is positive, the user class has only
read access to the data item. If the number is negative, the
user class has both read and write access to the given data
set. The data items are listed in data item number order.
Notes:
- Data item number is always negative since Eloquence does
not support item level security. All data items are considered
writable.
Mode 104: Items in Data Set
Mode 104 identifies data items available in a specific data set and the
type of access allowed.
Qualifier identifies the data set name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Item count x |
-----------------------------------------------------
| 2 | +/- Data item number 1 |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| n + 1 | +/- Data item number n |
-----------------------------------------------------
If the data item number is positive, the user class has only
read access to the data item. If the number is negative, the
user class has both read and write access in the given data
set. The data items are listed in order of occurrence in data
entry.
Notes:
- Data item number is always negative since Eloquence does
not support item level security. All data items are considered
writable.
Mode 113: BTREEMODE1 and Wildcard Character
Mode 113 gives the settings of BTREEMODE1 and wildcard character in the
root file as well as current DBOPEN (DBU).
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | btreemode1 setting in root file |
| | 0 if btreemode1 is off |
| | 1 if btreemode1 is on |
-----------------------------------------------------
| 2 | The first byte (8 bits) is |
| | alwasys 0. The second byte |
| | (8 bits) represents c, where c |
| | is the current wildcard character. |
| | For example, if the current |
| | wildcard character is @, the |
| | element's hex value will be $0040, |
| | or decimal 64. |
| | This is from the root file |
-----------------------------------------------------
| 3 | Highest B-Tree argument version |
| | supported (0 for the first B-Tree |
| | release version). |
-----------------------------------------------------
| 4 | Number of sets with B-Trees |
| | indices attached. |
-----------------------------------------------------
| 5 | btreemode1 setting for DBOPEN |
| | 0 if btreemode1 is off |
| | 1 if btreemode1 is on |
-----------------------------------------------------
| 6 | The first byte (8 bits) is |
| | alwasys 0. The second byte |
| | (8 bits) represents c, where c |
| | is the current wildcard character. |
| | For example, if the current |
| | wildcard character is @, the |
| | element's hex value will be $0040, |
| | or decimal 64. |
| | This is for the current DBOPEN. |
-----------------------------------------------------
| 7-16 | (reserved) |
-----------------------------------------------------
Notes:
- Btreemode1 is not supported with Eloquence B.07.00 PR#6
and static values are returned.
Element Value
1 Always 0
2 Default wildcard (2nd character) is '@'
3-4 Always 0
5 As defined by DBCONTROL mode 15, defaults to 0
6 As defined by DBCONTROL mode 15, default wildcard is '@'
7-16 (Binary) zero
DBCONTROL mode 15 is not supported with B.07.00
Mode 201: Set Number
Mode 201 defines the type of access available for a specific data set.
Qualifier identifies the data set name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | +/- Data set number |
-----------------------------------------------------
If the data set number is positive, the user class has only
read access. If the number is negative, the user class has
both read and write access.
Mode 202: Set Name
Mode 202 describes a specific data set.
Qualifier identifies the data set name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1-8 | Data set name |
-----------------------------------------------------
| 9 | One of the following set types |
| | followed by a blank: |
| | M, A, D |
-----------------------------------------------------
| 10 | Entry length |
-----------------------------------------------------
| 11 | Blocking factor |
-----------------------------------------------------
| 12 | 0 |
-----------------------------------------------------
| 13 | 0 |
-----------------------------------------------------
| 14-15 | Number of entries in set |
-----------------------------------------------------
| 16-17 | Capacity of set |
-----------------------------------------------------
The data set name is left-justified and will be padded with
blanks if the name is shorter than 16 characters.
Notes:
- Element 11 returns always 0 since blocking factor does not
apply to Eloquence.
- Capacity in Eloquence returns the highest record number ever
used for the data set. The EQ3K_MINCAPACITY environment variable
may be used to specify a minimum value.
Mode 203: Sets in Database
Mode 203 identifies all data sets available in a database and the type of
access allowed. If you are using third-party indexing, this mode does
not show third-party index files.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Set count x |
-----------------------------------------------------
| 2 | +/- Data set number 1 |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| n + 1 | +/- Data set number n |
-----------------------------------------------------
If the data set number is positive, the user class has only
read access to the data set and possibly is in the write class
list of specific data item(s). If the number is negative, the
user class has both read and write access. The data sets are
listed in data set number order.
Mode 204: Sets with Item
Mode 204 identifies all data sets available that contain a specified
data item and indicates the type of access allowed.
Qualifier identifies the data item name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Set count x |
-----------------------------------------------------
| 2 | +/- Data set number 1 |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| n + 1 | +/- Data set number n |
-----------------------------------------------------
If the data set number is positive, the user class has only
read access to the data set and possibly is in the write class
list of specific data item(s). If the number is negative, the
user class has both read and write access. The data sets are
listed in data set number order.
Mode 205: Set Capacity
Mode 205 is an extension of mode 202 with dynamic capacity expansion
information.
Qualifier identifies the data set name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1-8 | Data set name |
-----------------------------------------------------
| 9 | One of the following set types |
| | followed by a blank: |
| | M, A, D |
-----------------------------------------------------
| 10 | Entry length |
-----------------------------------------------------
| 11 | Blocking factor |
-----------------------------------------------------
| 12 | 0 |
-----------------------------------------------------
| 13 | 0 |
-----------------------------------------------------
| 14-15 | Number of entries in set |
-----------------------------------------------------
| 16-17 | Capacity of set |
-----------------------------------------------------
| 18-19 | High-water mark |
-----------------------------------------------------
| 20-21 | Maximum capacity |
-----------------------------------------------------
| 22-23 | Initial capacity |
-----------------------------------------------------
| 24-25 | Incremental number of entries |
-----------------------------------------------------
| 26 | Incremental percent |
-----------------------------------------------------
| 27 | Dynamic capacity expansion flag |
| | (0 = off, 1 = on) |
-----------------------------------------------------
The data set name is left-justified and will be padded with
blanks if the name is shorter than 16 characters.
Mode 205 can be used for any master or detail data set with or
without dynamic capacity expansion capability.
Mode 205 allows users to obtain information on dynamic data
set capacity expansion programmatically. It is an extension
of mode 202 to include dynamic capacity expansion information
such as maximum capacity, initial capacity, incremental number
of entries, incremental percent, and the dynamic capacity
expansion flag (0 for off and 1 for on) for the data set.
Notes:
- Eloquence returns static values for some elements
Element Value
11 Returns 0 since blocking factor does not
apply to Eloquence.
18-19 Returns 0
20-21 Returns 2^31-1 (2147483647)
Capacity does not apply to Eloquence
22-23 Returns 0
24-25 Returns 1
26 Returns 0
27 Returns 1 to indicate that data set expands on demand.
- Dynamic extension of a data set is handled by the data base
server and implementation details like blocking factor, water
marks or initial capacity are not available or do not apply.
- Capacity in Eloquence returns the highest record number ever
used for the data set. The EQ3K_MINCAPACITY environment variable
may be used to specify a minimum value.
Mode 206: Number of Data Set Chunks
Mode 206 gives the number of chunks in a data set in short format.
Qualifier identifies the data set name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | # of chunks in a jumbo data set |
-----------------------------------------------------
If the data set is not a jumbo data set, zero is returned
for the number of chunks.
Notes:
- Eloquence returns static value of 0. The concept of JUMBO
data sets does not apply to Eloquence.
Mode 207: Size of Data Set Chunks
Mode 207 identifies the size of each chunk in terms of IMAGE records
in addition to providing the number of chunks.
Qualifier identifies the data set name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | # of chunks in a jumbo data set |
-----------------------------------------------------
| 2 | 0 |
-----------------------------------------------------
| 3-4 | Size of chunk 1 |
| | (# entries, not # of blocks!) |
-----------------------------------------------------
| 5-6 | Size of chunk 2 |
| | (# entries, not # of blocks!) |
-----------------------------------------------------
| 7-8 | ... |
-----------------------------------------------------
| 2n+3 | Size of chunk n |
| | (# entries, not # of blocks!) |
-----------------------------------------------------
Total size: (n + 1) * 4 bytes.
If the data set is not a jumbo data set, zero is returned
for the number of chunks.
Notes:
- Eloquence returns static value of 0 for element 1 and 2.
The concept of JUMBO data sets does not apply to Eloquence.
Mode 208: Primary and Actual Capacity
Mode 208 returns the primary and actual capacity.
Qualifier identifies the data set name or number for which the
information is requested.
Buffer must be at least a 64-byte record and returns the following
(each element is a 32-bit Word):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Primary (hashing) capacity |
| | for masters, 0 for details |
-----------------------------------------------------
| 2 | Current capacity, |
| | including expansions |
-----------------------------------------------------
| 3 | Maximum capacity |
-----------------------------------------------------
| 4 | Expansion threshold: |
| | -1 .. 100 percentage |
| | -1 this value means expansion |
| | not triggered by percentage, |
| | or it is a non-expandable set |
-----------------------------------------------------
| 5 | Delete chain free head |
| | (0 for non-expanded masters) |
-----------------------------------------------------
| 6 | high-water mark |
| | (0 for non-expanded masters) |
-----------------------------------------------------
| 7 | Expansion threshold: |
| | -1 .. 2 billion blocks |
| | -1 this value means expansion |
| | not triggered by traversing # |
| | blocks without success, or |
| | it is a non-expandable set |
-----------------------------------------------------
| 8-16 | Reserved; 0 is returned |
-----------------------------------------------------
DBINFO mode 208 does not return an expandable flag, while DBINFO 205 returns
an expandable flag. The flag can also be deduced by comparing the current and
maximum capacities in DBINFO 208.
DBINFO mode 208 returns information about internals that will be meaningful to
only a few customers.
Notes:
- Eloquence returns mostly static values
Element Value
1 Always 0 because we don't use hashing
2 Current number of entries in data set
3 2^31-1 (2147483647) for max. capacity
4 -1 for no expansion threshold
5 0 for no delete chain head free head
6 0 for no high water mark
7 -1 for no expansion threshold
- This DBINFO mode exposes some TurboIMAGE implementation
details that have no corresponding equivalent in Eloquence.
Mode 209: B-Tree Attachment
Mode 209 informs whether or not a B-Tree exists for a master.
Qualifier is a master data set name or number.
Buffer must be at least a 64-byte record and returns the following
(each element is a 16-bit Word):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | 0 if no b-tree index exists |
| | 1 if b-tree index exists |
-----------------------------------------------------
| 2 | 0 if attached B-Tree not damaged |
| | or index does not exist |
| | 1 if the attached B-Tree index |
| | is damaged |
-----------------------------------------------------
| 3 | For internal use |
-----------------------------------------------------
Notes:
- Btreemode1 is not supported with Eloquence B.07.00 PR#6
and static values are returned.
Element Value
1 Returns 0, btreemode1 is not supported
2 Returns 0
Mode 301: Paths
Mode 301 identifies the paths defined for a specified data set.
Qualifier identifies the data set name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Path count x |
-----------------------------------------------------
| 2 | Data set number of path 1 |
-----------------------------------------------------
| 3 | Search item number of path 1 |
-----------------------------------------------------
| 4 | Sort item number of path 1 |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| 3n-1 | Data set number of path n |
-----------------------------------------------------
| 3n | Search item number of path n |
-----------------------------------------------------
| 3n+1 | Sort item number of path n |
-----------------------------------------------------
Elements 2 to 4 are repeated for each path.
If qualifier specifies a master data set, the set number
identifies the detail data set.
If qualifier specifies a detail data set, the set number
identifies the master data set.
If qualifier specifies a master data set, the item numbers
identify items in the detail data sets. If you do not have
access to a search item, it is not included in the path count
and the path information is not returned. If a sort item does
not exist or you do not have access to it, the sort item
number is zero.
Path designators are presented in the order in which they
appear in the schema.
Notes:
- Since Eloquence does not support item level security
the search and sort item are always returned.
Mode 302: Key or Search Item
Mode 302 identifies the key or search item for a specified data set. For
this mode the two qualifiers are shown separately.
Qualifier identifies the master data set name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Key item number |
-----------------------------------------------------
| 2 | 0 |
-----------------------------------------------------
If qualifier specifies a master data set, the key item number
is the number in the master set. The number is 0 if you do
not have access to the key item.
OR
Qualifier identifies the detail data set name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Search item number |
-----------------------------------------------------
| 2 | Master data set number |
-----------------------------------------------------
If qualifier specifies a detail data set, the primary search
item and the related master data set number are returned.
Both numbers are 0 if you do not have access to the search
item.
Notes:
- Since Eloquence does not support item level security
the search item is always returned.
Mode 401: Logging
Mode 401 obtains information related to logging.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1-4 | Log identifier name |
-----------------------------------------------------
| 5 | Database log flag |
-----------------------------------------------------
| 6 | User log flag |
-----------------------------------------------------
| 7 | Transaction flag |
-----------------------------------------------------
| 8-9 | User transaction number |
-----------------------------------------------------
The log identifier name is left-justified and padded with
blanks if shorter than 8 characters.
If the database is enabled for logging, the database log flag
is 1; otherwise it is 0.
If you are logging, the user log flag is 1; otherwise it is 0.
If you have a transaction in progress, the transaction flag is
1; otherwise it is 0.
The user transaction number is one word.
Notes:
- Eloquence does not support user mode logging and
returns static values.
Element Value
1-4 spaces
5-7 0
8 0
Mode 402: ILR
Mode 402 returns information about Intrinsic Level Recovery (ILR).
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | ILR log flag |
-----------------------------------------------------
| 2 | Calendar date (mmddyy) |
-----------------------------------------------------
| 3-4 | Clock time (one word in format |
| | hhmmsstt) |
-----------------------------------------------------
| 5 | 0 |
-----------------------------------------------------
| 6-14 | _ |
-----------------------------------------------------
| 15-16 | Reserved |
-----------------------------------------------------
If the database is enabled for ILR, the ILR log flag is 1;
otherwise it is 0.
The calendar date is the date ILR was enabled.
The clock time is the time ILR was enabled.
Element 5 is always 0.
_ indicates blank. Elements 6 to 14 are always blank.
Elements 15 and 16 are reserved.
Notes:
- ILR does not apply to Eloquence, static values are returned.
Element Value
1 0
2 0
3-4 0
Mode 403: Dynamic Roll-Back
Mode 403 obtains information related to dynamic transaction activity on a
given database.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1-4 | Log identifier name |
-----------------------------------------------------
| 5 | Database log flag |
-----------------------------------------------------
| 6 | User log flag |
-----------------------------------------------------
| 7 | Logical transaction flag |
-----------------------------------------------------
| 8-9 | User transaction number |
-----------------------------------------------------
| 10-11 | XM log set size (in megabytes) |
-----------------------------------------------------
| 12 | XM log set type |
-----------------------------------------------------
| 13 | Database attached flag |
-----------------------------------------------------
| 14 | Dynamic transaction flag |
-----------------------------------------------------
| 15-26 | XM log set name |
-----------------------------------------------------
The log identifier name is left-justified and padded with
blanks if shorter than 8 characters.
If the database is enabled for logging, the database log flag
is 1; otherwise it is 0.
If you are logging, the user log flag is 1; otherwise it is 0.
If no logical transaction is in progress, the transaction flag
is 0. If a static transaction is in progress, the flag is set
to 1; if a multiple database transaction is in progress, the
flag is set to 2.
The user transaction number is one word.
The Transaction Management (XM) log set is measured in
megabytes.
If the XM log set is circular, the log set type is CR;
otherwise it is LN indicating a linear log.
If the database is attached to XM, the database attached flag
is 1; otherwise it is 0.
If the user is processing a dynamic transaction, the dynamic
transaction flag is 1; otherwise it is 0.
If the database is associated with the default XM user log
set, the XM log set name element contains blanks; otherwise it
contains the name of the XM log set.
Notes:
- This mode returns implementation details on transactions
that do not apply to Eloquence, static values are
returned:
Element Value
1-4 spaces
5 0, user mode logging is not supported
6 0, user mode logging is not supported
7 0, static transactions are not supported
8-9 returns the transaction identifier or zero if no
(dynamic) transaction is active
10-11 0, does not apply since log size is dynamic
12 returns 'LN'
13 returns 1
14 return the current transaction nesting level
15-26 spaces
Mode 404: Logging Subsystem Information
Mode 404 returns information about multiple database transactions.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Database log flag |
-----------------------------------------------------
| 2 | User log flag |
-----------------------------------------------------
| 3 | Roll-back log flag |
-----------------------------------------------------
| 4 | ILR log flag |
-----------------------------------------------------
| 5 | MUSTRECOVER flag |
-----------------------------------------------------
| 6 | Database remote flag |
-----------------------------------------------------
| 7 | Logical transaction flag |
-----------------------------------------------------
| 8-11 | Log identifier name |
-----------------------------------------------------
| 12-13 | Log index |
-----------------------------------------------------
| 14-15 | Multiple database transaction ID |
-----------------------------------------------------
| 16 | Number of databases involved in |
| | the multiple database transaction |
-----------------------------------------------------
| 17-31 | Base IDs of the databases involved |
| | in the multiple database |
| | transaction |
-----------------------------------------------------
If the database is enabled for logging, the database log flag
is 1; otherwise it is 0.
If you are logging, the user log flag is set to 1; otherwise
it is 0. If a user accesses the database with a DBOPEN mode
5, this flag is set to 0.
If the database is enabled for roll-back logging, the
roll-back log flag is set to 1; otherwise it is 0.
If the database is enabled for ILR, the ILR log flag is set to
1; otherwise it is 0.
If the database is enabled for MUSTRECOVER, the MUSTRECOVER
flag is set to 1; otherwise it is 0.
If the database resides on a remote system, the database
remote flag is set to 1. If the database resides on the local
system, the flag is set to 0.
If no logical transaction is in progress, the transaction flag
is set to 0. If a static transaction is in progress, the flag
is set to 1. If a multiple database transaction is in
progress, the flag is set to 2.
The log index is used to call the WRITELOG intrinsic. It is
set to 0 if logging is not used.
The transaction ID represents a multiple or single database
transaction.
Elements 16-31 are set when a multiple database transaction is
in progress.
Notes:
- This mode returns implementation details on transactions
that do not apply to Eloquence, static values are
returned:
Element Value
1 0, user mode logging is not supported
2 0, user mode logging is not supported
3 0, does not apply to Eloquence
4 0, does not apply to Eloquence
5 0, does not apply to Eloquence
6 0, does not apply to Eloquence
7 0, static transactions are not supported
8-11 spaces
12-13 0, does not apply to Eloquence
14-15 0, transactions are not data base specific
16 0, transactions are not data base specific
17-31 0, transactions are not data base specific
Mode 406: Database Information
Mode 406 returns information about fully qualified database name and open
mode.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1-14 | Fully qualified database name, |
| | left justified, blank trailing. |
-----------------------------------------------------
| 15 | Open mode for current DBOPEN. |
-----------------------------------------------------
| 16 | Root file version of the database. |
| | In the form Cn where C is |
| | uppercase ASCII and n is a number. |
| | For example, C2 or C3. |
-----------------------------------------------------
| 17-24 | For internal use. |
-----------------------------------------------------
| 25-32 | Reserved |
-----------------------------------------------------
Notes:
- Element 1-14 returns the data base name truncated to 28 characters
- Element 15 returns the mode specified to DBOPEN, not the
native mode the data base is opened with
- Element 16 returns the characters 'EQ' to desugnate Eloquence.
- Element 17 returns an internal version number for the data
base schema
- Element 18 returns the number of data sets in the data base
- Element 19 returns the number of items in the data base
- Element 20 returns the number of index items in the data base
Mode 501: Subsystem Access
Mode 501 checks subsystem access to the database. Refer to the DBUTIL
>>SHOW and >>SET commands described in chapter 8 for more information.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Subsystem access |
-----------------------------------------------------
The following values are used for subsystem access:
0 No access
1 Read access
3 Read/write access
Notes:
- Eloquence by default returns 3 (RW) for element 1.
Mode 502: Critical Item Update
Mode 502 checks the critical item update (CIUPDATE) option settings for
the database and the current DBOPEN. The CIUPDATE option is set for the
database with the DBUTIL >>SET command and then, depending on the
setting, can be enabled or disabled with DBCONTROL for the current
DBOPEN. Refer to the discussion of DBCONTROL in this chapter and the
descriptions of the DBUTIL >>SHOW and >>SET commands in chapter 8 for
more information.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Critical item update flag |
-----------------------------------------------------
| 2 | Current setting for accessor |
-----------------------------------------------------
For element 1, the following values are used for the CIUPDATE
option setting specified with DBUTIL for the database:
0 Critical item update is disallowed (default).
1 Critical item update is allowed.
2 Critical item update is on.
For element 2, the following values are used for the current
DBOPEN setting specified with DBCONTROL:
0 Critical item update is disabled for this accessor.
1 Critical item update is enabled for this accessor.
Notes:
- Eloquence by default returns 1 for element 1 (CIUPDATE allowed)
and the current value of the CIUPDATE flag for element 2.
- CIUPDATE is always considered allowed. The default value
of the CIUPDATE flag is 0 (disabled) and can be changed
using DBCONTROL mode 5 and 6. If enabled, any DBUPDATE
mode 1 is mapped to DBUPDATE mode 2.
Mode 901: Language
Mode 901 obtains the Native Language attribute of the database. It
returns the MPE/iX code for the language attribute.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Language ID |
-----------------------------------------------------
Notes:
- Eloquence always returns a language ID of zero
DBINFO modes 701 to 705 are specific to Eloquence.
They are equivalent to the native Eloquence DBINFO modes 501 to 505.
Mode 701: Index Item Number
Mode 701 returns the item number of the specified index item.
Qualifier identifies the index item name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Index item number |
-----------------------------------------------------
Mode 702: Index Item Name
Mode 702 describes a specific index item.
Qualifier identifies the index item name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1-8 | Index item name |
-----------------------------------------------------
| 9 | Number of segments |
-----------------------------------------------------
| 10 | Reserved (zero) |
-----------------------------------------------------
| 11 | Data Item number (segment 1) |
-----------------------------------------------------
| 12 | Length in bytes (Segment 1) |
-----------------------------------------------------
| 13 | Reserved (zero) |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| 3n+8 | Data Item number (segment n) |
-----------------------------------------------------
| 3n+9 | Length in bytes (segment n) |
-----------------------------------------------------
| 3n+10 | Reserved (zero) |
-----------------------------------------------------
The index item name is left-justified and will be padded
with blanks if the name is shorter than 16 characters.
Mode 703: Index Items in Database
Mode 703 identifies data items available in the database and displays the
type of access allowed. This mode does not identify unreferenced data
items, that is, those items that are defined in the item section of the
schema but are not referenced by at least one data set.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Item count x |
-----------------------------------------------------
| 2 | Index item number 1 |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| n + 1 | Index item number n |
-----------------------------------------------------
The items are listed in index item number order.
Mode 704: Index Items in Data Set (also mode 831)
Mode 704 identifies index items available in a specific data set.
Qualifier identifies the data set name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Item count x |
-----------------------------------------------------
| 2 | Index item number 1 |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| n + 1 | Index item number n |
-----------------------------------------------------
The index items are listed in order of occurrence in the
schema.
Notes:
- DBINFO mode 704 is identical to DBINFO mode 831 (TPI)
Mode 705: Sets with Index Item (also mode 821)
Mode 705 identifies all data sets available that contain a specified
index item and indicates the type of access allowed.
Qualifier identifies the index item name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Set count x |
-----------------------------------------------------
| 2 | +/- Data set number 1 |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| n + 1 | +/- Data set number n |
-----------------------------------------------------
If the data set number is positive, the user class has only
read access to the data set and possibly is in the write class
list of specific data item(s). If the number is negative, the
user class has both read and write access. The data sets are
listed in data set number order.
Notes:
- DBINFO mode 705 is identical to DBINFO mode 821 (TPI)
DBINFO modes 8## are related to TPI.
Mode 801: Describes the Third-Party product enabled on the database.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1-20 | Product name (blank if none installed) |
--------------------------------------------------------------
| 21-25 | Version number |
--------------------------------------------------------------
| 26-27 | Date of current installation on a database |
| | (CALENDAR intrinsic format) |
--------------------------------------------------------------
| 28-29 | Time of current installation on a database |
| | (CLOCK intrinsic format) |
--------------------------------------------------------------
Product name is "Eloquence A.xx.yy" padded with spaces
where xx is the major and yy the minor product version.
For example "Eloquence A.06.31"
The version number format is A.xx.yy.zz where xx is the
major and yy the minor product version and zz the patch
level. For example "A.06.31.01"
The installation date/time are always zero.
Mode 802: Returns the number of external and internal index
files for this database.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1 | Number of external files (may be 0). |
--------------------------------------------------------------
| 2 | Number of internal files (may be 0). |
--------------------------------------------------------------
| 3-10 | Reserved for future use. Blanks for now. |
--------------------------------------------------------------
Notes:
- Eloquence returns 0 for the element 1 and element 2.
Mode 803: Indicates if TPI is enabled on the database.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1 | Binary zero if third party indexing is |
| | not enabled and binary one if third party |
| | indexing is enabled. |
--------------------------------------------------------------
Notes:
- Eloquence returns 1 for the element 1 since indexing is
always enabled.
Mode 811: Describes the access available for a TurboIMAGE/XL
data item or third party key.
Qualifier
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1-8 | TurboIMAGE/XL data item name or number |
| | or third party key name or number. |
--------------------------------------------------------------
| 9-16 | optional TurboIMAGE/XL data set name or |
| | number. When to be ignored, first |
| | character must be a blank or a ";". |
--------------------------------------------------------------
Buffer returns the following (note that each element is a halfword or
two bytes):
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1 | TurboIMAGE/XL data item number or third |
| | party key number (10001 - 19999). |
--------------------------------------------------------------
Additional notes from SuperDex manual:
For Independent paths, the dataset number should be set to 200.
This is true for any DBINFO mode 8##.
TurboIMAGE Item number or Third-Party search item number. If the
qualifier is a TurboIMAGE item and a Third-Party search item, this
value will always equal the TurboIMAGE item number.
Notes:
- Eloquence ignores the optional data set name or number
specification which can be passed in the qualifier argument.
- If the item name or number passed in the qualifier describes
an index item, the Eloquence specific DBINFO mode 701 can be
used as an alternative.
Mode 812: Describes a third party key. Also, used to determine
third party key name and key type for third party keys
that are not named the same as a TurboIMAGE/XL data item.
Qualifier
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1-8 | TurboIMAGE/XL data item name or number |
| | or third party key name or number. |
--------------------------------------------------------------
| 9-16 | optional TurboIMAGE/XL data set name or |
| | number. When to be ignored, first |
| | character must be a blank or a ";". |
--------------------------------------------------------------
Buffer returns the following (note that each element is a halfword or
two bytes):
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1-8 | Data item name |
--------------------------------------------------------------
| 9 | One of the following data types |
| | followed by a blank: |
| | I, J, K, R, U, X, Z, P |
--------------------------------------------------------------
| 10 | Sub-item length |
--------------------------------------------------------------
| 11 | Sub-item count |
--------------------------------------------------------------
| 12 | 0 |
--------------------------------------------------------------
| 13 | 0 |
--------------------------------------------------------------
The data item name is left-justified and will be padded with
blanks if the name is shorter than 16 characters.
Notes:
- Eloquence ignores the optional data set name or number
specification which can be passed in the qualifier argument.
- If the item name or number passed in the qualifier describes
a compound index item (that has multiple index segments),
element 9 returns spaces and elements 10 and 11 return zeros.
- If the item name or number passed in the qualifier describes
an index item containing only a single segment, the item type
is returned in element 9. Element 10 returns the index segment
length (in bytes) and element 11 is always 1 (Eloquence currently
does currently not support using an array in index definitions).
- If the item name or number passed in the qualifier describes
an index item, the Eloquence specific DBINFO mode 702 can be
used as an alternative.
Mode 813: Items in Database (including index items)
Mode 813 describes all items in a database, including all Third-Party
search items. Externals are the same as DBINFO mode 103.
Qualifier is ignored.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Item count x |
-----------------------------------------------------
| 2 | +/- Data item number 1 |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| n + 1 | +/- Data item number n |
-----------------------------------------------------
If the data item number is positive, the user class has only
read access to the data item. If the number is negative, the
user class has both read and write access to the given data
set. The data items are listed in data item number order.
Notes:
- The Eloquence specific DBINFO mode 703 can be used as an
alternative to return index items only.
- Item numbers are always negative since Eloquence does not
support item level security
- Index items are listed after the data items. Index items can not
be used as an argument to DBINFO mode 1xx.
- Since all data items in the data base and all index items are
returned you need to be careful to avoid a buffer overflow as the
max. number of data items is 2048 with Eloquence and up to
1024 index items which can be defined in the schema.
Mode 814: Items in Data Set (including index items)
Mode 814 describes all items in a specific dataset, including all
Third-Party search items. Externals are the same as DBINFO mode 104.
Qualifier identifies the data set name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Item count x |
-----------------------------------------------------
| 2 | +/- Data item number 1 |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| n + 1 | +/- Data item number n |
-----------------------------------------------------
If the data item number is positive, the user class has only
read access to the data item. If the number is negative, the
user class has both read and write access in the given data
set. The data items are listed in order of occurrence in data
entry.
Notes:
- The Eloquence specific DBINFO mode 704 can be used as an
alternative to return index items only.
- Item numbers are always negative since Eloquence does not
support item level security
- Index items are listed after the data items. Index items can not
be used as an argument to DBINFO mode 1xx.
Mode 821: Sets with Index Item (also mode 705)
Mode 821 identifies all data sets available that contain a specified
index item and indicates the type of access allowed.
Qualifier identifies the index item name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Set count x |
-----------------------------------------------------
| 2 | +/- Data set number 1 |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| n + 1 | +/- Data set number n |
-----------------------------------------------------
If the data set number is positive, the user class has only
read access to the data set and possibly is in the write class
list of specific data item(s). If the number is negative, the
user class has both read and write access. The data sets are
listed in data set number order.
Notes:
- Eloquence specific DBINFO mode 705 can be used as an alternative
Mode 831: Index Items in Data Set (also mode 704)
Mode 831 identifies index items available in a specific data set.
Qualifier identifies the data set name or number for which the
information is requested.
Buffer returns the following (note that each element is a halfword or
two bytes):
-----------------------------------------------------
| Element | Contents |
-----------------------------------------------------
| 1 | Item count x |
-----------------------------------------------------
| 2 | Index item number 1 |
-----------------------------------------------------
| : | : |
-----------------------------------------------------
| n + 1 | Index item number n |
-----------------------------------------------------
The index items are listed in order of occurrence in the
schema.
Notes:
- Eloquence specific DBINFO mode 704 can be used as an alternative
Mode 832: Identifies third party single or multiple keyword search
keys for specified data set. Returns the item number of "M" or "B"
type keys [where "M" is single or multiple keyword search key only,
"B" is both generic and multiple key] as define in DBINFO mode 833.
Qualifier
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1-8 | data set name or number |
--------------------------------------------------------------
Buffer returns the following (note that each element is a halfword or
two bytes):
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1 | n = number of keys |
--------------------------------------------------------------
| 2-(n+1) | Item number of key |
--------------------------------------------------------------
Notes:
- Eloquence currently returns a 0 as element 1.
- Since the Eloquence TPI implementation currently does not
support relational access (DBFIND mode 12) no results are
returned.
Mode 833: Describes a specific third party key
Qualifier
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1-8 | set name or number |
--------------------------------------------------------------
| 9-16 | item name or number of key |
--------------------------------------------------------------
Buffer returns the following (note that each element is a halfword or
two bytes):
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1 | third party key number. If a negative |
| | value, data item can be updated. Third |
| | party keys are assigned item numbers of |
| | 10,001 and above. |
--------------------------------------------------------------
| 2 | type of key. Valid key type: G (generic |
| | sorted), M (multiple key), and B (both |
| | generic sorted and multiple key) followed |
| | by 1 space. |
--------------------------------------------------------------
| 3 | external key length (in bytes) |
| | [if SICOGNOS JCW = 1, length is net of |
| | extension; otherwise length includes the |
| | extension (extension = detail set: |
| | 4 bytes, master set: search item length |
| | in bytes).] |
--------------------------------------------------------------
| 4 | IMAGE set number of first item in keyword |
| | group, or 0 if not member of a keyword |
| | group |
--------------------------------------------------------------
| 5 | IMAGE item number of first item in |
| | keyword group, or 0 if not member of a |
| | keyword group |
--------------------------------------------------------------
| 6 | IMAGE item number of third party key |
| | being qualified, or 0 if relative record |
| | being qualified instead of a third party |
| | key |
--------------------------------------------------------------
| 7 | length of item in element 6 above |
| | (in bytes) |
--------------------------------------------------------------
| 8-27 | an integer array describing this key's |
| | use of the standardized installation |
| | options, as shown on the table on |
| | next page |
--------------------------------------------------------------
| 28 | n = number of key components |
--------------------------------------------------------------
| 6(n-1)+29 | IMAGE item number of component |
--------------------------------------------------------------
| 6(n-1)+30 | byte offset of item [if SICOGNOS JCW = 1, |
| | byte offset is ZERO relative; otherwise |
| | byte offset is ONE relative.] |
--------------------------------------------------------------
| 6(n-1)+31 | length of component in bytes |
--------------------------------------------------------------
| 6(n-1)+32 | data type of data in component: |
| | (I, J, K, E, R, U, X, Z, P) |
| | followed by a space |
--------------------------------------------------------------
| 6(n-1)+33 | IMAGE sub-item length of component |
--------------------------------------------------------------
| 6(n-1)+34 | IMAGE sub-item count of component |
--------------------------------------------------------------
Array element Value
1 Case sensitivity
0 = Case insensitive
1 = Case sensitive
2 Parsing (treat entire argument as a key value)
0 = No parsing
1 = Parsing
3 Excluded words
0 = No words excluded
1 = Global words excluded
2 = Key-specific words excluded
4 Values: blanks, nulls, zeros
0 = Not indexed
1 = Indexed
5 Native Language Support
0 = Uses binary collating sequences
1 = Uses NLS collating sequences
6 Update of indexes
0 = DBPUT, DBDELETE, and DBUPDATE will update third
party indexes.
1 = Indexes will not be updated until a third party
maintenance utility is invoked to update the indexes.
7 Soundex
0 = No Soundex
1 = Soundex
8 Boolean searches within
0 = Common to record detail sets
1 = Common to detail chain
9-15 Reserved for future use
0 = Not used
16-20 Third party extensions
0 = No extension for key.
Mode 834: Describes all items grouped with the specified key.
Qualifier
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1-8 | data set name or number |
--------------------------------------------------------------
| 9-16 | Third party key name or number |
--------------------------------------------------------------
Buffer returns the following (note that each element is a halfword or
two bytes):
--------------------------------------------------------------
| Element | Contents |
--------------------------------------------------------------
| 1 | n = number of keys in this group |
--------------------------------------------------------------
| 2-(n-1)+2 | Set number of grouped key |
--------------------------------------------------------------
| 2-(n-1)+3 | IMAGE item number of grouped key |
--------------------------------------------------------------
Notes:
- Eloquence currently returns a 0 as element 1.
- Since Eloquence does not support grouped keys no results
are returned.
|