.
Eloquence B.07.10 contact contact


DBXBEGIN

 
.
  Designates the beginning of a transaction or sub-transaction. DBXBEGIN is used in conjunction with DBXEND to begin and end a dynamic transaction.
DBXBEGIN(base|baseidlist,text,mode,status,textlen)
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.)

Currently ignored. Eloquence transactions are not database specific but include all databases modified in a transaction.

baseidlist
is the name of the integer array containing the base IDs of the databases which are involved in a DMDBX. Use baseidlist when calling DBXBEGIN mode 3 (DMDBX). The layout of this array is shown here (each element is a halfword or two bytes):

Element Contents
1-2 Application program must set these two halfwords to binary 0s before calling DBXBEGIN. After returning to the calling program, these two halfwords contain the transaction ID. Use this same baseidlist with the corresponding DBXEND or DBXUNDO intrinsics.
3 Number of base IDs involved in the DMDBX. This must be a number between 1 and 15 inclusive.
4-n Base IDs of the databases involved in the DMDBX. Each base ID occupies one half-word or 2 bytes and it is the first halfword of the base parameter used to call database procedures.

Currently ignored. Eloquence transactions are not database specific but include all databases modified in a transaction.

text
is the name of an array up to 256 halfwords long that contains user ASCII or binary data to be written to the log file as part of the transaction log.

mode
is an integer indicating the transaction type:
  • Mode 1: Indicates a dynamic transaction which spans only one database.
  • Mode 3: Indicates a dynamic transaction spanning multiple databases.
The mode parameter has no effect with Eloquence.

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 Transaction nesting level.
3-4 Unchanged.
5-10 Information about the current procedure call and its results.

textlen
is an integer equal to the number of halfwords to be logged from the text parameter, or is a negative integer equal to the number of bytes. Length can be zero.


Notes:

  • Transactions are not database specific but affect all databases. Consequently, no check is made for a valid database id or database id list and no check is made for dbopen mode restrictions.

  • In mode 3 the baseidlist argument is not updated.

  • Nested transactions are allowed

  • Element 2 of the status error was unchanged with TurboIMAGE. Eloquence returns the transaction nesting level.
  • TurboIMAGE/XL in addition supports the DBXBEGIN mode 4 which is used by SQL. This is not supported with Eloquence.


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