|
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.
|
|