.
Eloquence B.07.10 contact contact


DBXEND

 
.
  Designates the end of a transaction or subtransaction ("commit"). DBXEND is used in conjunction with DBXBEGIN to begin and end a dynamic transaction.
DBXEND(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 the DMDBX. Use the same baseidlist used with DBXBEGIN when calling DBXEND mode 3 to end the DMDBX. The layout of this array is same as in DBXBEGIN, except that the transaction ID is already set in the first two halfwords by DBXBEGIN.

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
must be a halfword equal to 1, 2, 3 or 5.

  • Mode 1: End of dynamic transaction spanning one database.
  • Mode 2: End of dynamic transaction spanning one database, started with DBXBEGIN mode 1, and write contents of the transaction management (XM) logging buffer in memory to disk. If logging is enabled, the contents of the logging buffer in memory will also be written to disk.
  • Mode 3: Indicates the end of a DMDBX started with DBXBEGIN mode 3. If user logging is enabled for the databases, mode 3 generates multiple entries in the log file, one for each database in the DMDBX, in order to mark the end of a dynamic transaction.
  • Mode 5: Commit top level transaction. If nested transactions are used this will commit all pending operations.

Eloquence handles modes 1, 2 and 3 identically.

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 distinction is made between a single database and multiple databases (DBMX).

  • Modes 1,2 and 3 are mapped to Eloquence mode 1

  • Mode 5 is mapped to Eloquence mode 2

  • Text is ignored

  • Nested transactions are allowed. If used, DBXEND most be called the same number of times as DBXBEGIN or mode 5 with DBXEND must be used.

  • Element 2 of the status error was unchanged with TurboIMAGE. Eloquence returns the transaction nesting level.

  • TurboIMAGE/XL in addition supports the DBXEND 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