.
Eloquence B.07.10 contact contact


DBCONTROL

 
.
 
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


 
 
 
  Privacy | GDPR / DSGVO | Webmaster | Terms of use | Impressum Revision: 2006-01-24  
  Copyright © 1995-2024 Marxmeier Software AG