|
DBCONTROL(base,qualifier,mode,status)
- base
-
is the name of an array used as the base parameter when opening the
database. The first element of the array must contain the base ID
returned by DBOPEN. (Refer to DBOPEN for more information about the
base ID.)
- qualifier
-
used only for certain DBCONTROL modes.
- mode
-
must be an integer equal to 1, 2, 5, 6, 7, 9, 10, 13, 14, 15, 16, 18, 19 or 20.
- status
-
is the name of an array of 10 halfwords in which the database returns
status information about the procedure. If the procedure executes
successfully, the status array contents are:
Element |
Contents |
1 |
If the procedure succeeds, the return status is 0.
Otherwise it provides a status code to describe the failure.
|
2-4 |
Unchanged from previous procedure call using this array.
|
5-10 |
Information about the current procedure call and its results.
|
DBCONTROL modes
Mode |
Description |
1 |
Turn on the deferred output option (AUTODEFER).
This mode is accepted but has no effect with Eloquence.
|
2 |
Turn off the deferred output option (AUTODEFER).
This mode is accepted but has no effect with Eloquence.
|
5 |
Enable the critical item update option (CIUPDATE).
Mode 5 enables the CIUPDATE option for the current DBOPEN until either a
DBCONTROL mode 6 call disables the option or the database is closed.
With Eloquence CIUPDATE is allowed but disabled by default.
|
6 |
Disable the critical item update option (CIUPDATE).
Mode 6 disables the CIUPDATE option for the current DBOPEN until either a
DBCONTROL mode 5 call enables the option or the database is closed.
With Eloquence CIUPDATE is allowed (but not enabled) by default.
|
7 |
Allow the database to be included in the dynamic multiple
database transaction (DMDBX) and enable the database for
deadlock detection.
This mode is accepted but has no effect with Eloquence.
|
9 |
Enable the HWMPUT option of DBPUT for the current DBOPEN.
This mode is invalid with Eloquence, the application has
no control over record placement. Assuming the application
requesting this mode expects a specific behavior this mode
will result in a status error.
|
10 |
Disable the HWMPUT option of DBPUT for the current DBOPEN.
This mode is invalid with Eloquence, the application has
no control over record placement. Assuming the application
requesting this mode expects a specific behavior this mode
will result in a status error.
|
13 |
Allow a privileged mode caller to perform B-Tree related
tasks such as adding, dropping, rebuilding, releasing, or
securing a B-Tree index file. Exclusive database access is
required to add, drop, or rebuild a B-Tree index. Qualifier
has a structured record containing dataset information and
directives.
This mode is not supported with Eloquence.
|
14 |
Allow a privileged mode caller to set BTREEMODE1 option to
ON or OFF and set wildcard character for the database (permanent).
This mode is not supported with Eloquence.
|
15 |
Enable B-Tree wildcard search for DBFIND mode 1, X and U types,
for the master data set's key item and its corresponding search
items in details, if the key item has a B-Tree index.
In other words, turn on the BTREEMODE1 flag for the current database
open. The first byte of the qualifier is examined. If it is null or
blank, then the current wildcard character is not changed.
If it is in the ASCII range (33...126), then the wildcard character
is changed to that value for the current DBOPEN.
If the qualifier is any other value, DBCONTROL returns an error.
Affects only the current database open. It needs to be done once per
database and remains activated until the database is closed or the
application terminates. This mode allows you to perform B-Tree
searches on ASCII types without making application changes.
This mode is currently not supported with Eloquence.
|
16 |
Disable B-Tree wildcard search for DBFIND mode 1
regardless of the existence of a B-Tree index. That is, turn
off the BTREEMODE1 flag for the current database open. The
qualifier is ignored, and BTREEMODE 1 is turned off. Affects
the current database open only. It needs to be done once
per database and remains activated until the database is
closed or the application terminates.
This mode is currently not supported with Eloquence.
|
18 |
Enables the XM to return a warning when the dynamic
transaction exceeds the 28MB threshold.
This mode is accepted but has no effect with Eloquence.
|
19 |
Disables the XM to return a warning when the dynamic
transaction exceeds the 28MB threshold.
This mode is accepted but has no effect with Eloquence.
|
20 |
Allows the program to overwrite the DBUTIL 'OLDINFOLIMITS' setting.
DBINFO mode 103 returns data items in a database; DBINFO mode 203
returns data sets in a database; DBINFO mode 204 returns all data
sets with an item and DBINFO mode 301 returns paths for a specific
data set. If a user program allocates arrays to store the data
returned from above DBINFO calls and the size of the arrays are
defined by the old TurboIMAGE item/set limit.
Then a database with new item/set limit may cause the program to
abort.
This mode is accepted but has no effect with Eloquence.
Eloquence expects an application which assumes specific
database limits to the database limits using DBINFO mode 406.
|
Notes:
-
AUTODEFER (mode 1, 2) is accepted but has no effect
-
HWPUT (mode 9, 10) is not accepted and results in status -31.
The application has
no control over record placement. Assuming the application
requesting this mode expects a specific behavior this mode
will result in a status error.
-
CIUPDATE is always considered allowed (but disabled by default)
-
betreemode1 is considered enabled by default
-
Modes 1, 2, 7, 18, 19, 20 are accepted but have no effect with
Eloquence.
-
Modes 9, 10, 13, 14 are not supported with Eloquence and
result in status -31.
-
Database open mode and transaction status is not checked
|
|