.
Eloquence B.07.10 contact contact


DBXUNDO

 
.
  Rolls-back the active sequence of database procedure calls which are considered a dynamic transaction.
DBXUNDO(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
Name of the integer array containing the base IDs of the databases which are involved in the DMDBX. Use the same baseidlist parameter of DBXBEGIN mode 3, when calling DBXUNDO to roll-back a DMDBX.

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, 3 or 5.

  • Mode 1: Dynamically roll-back DBPUT, DBDELETE, and DBUPDATE intrinsics which completed successfully since the matching DBXBEGIN mode 1 call.
  • Mode 3: Dynamically roll-back DBPUT, DBDELETE, and DBUPDATE intrinsics which completed successfully inside the DMDBX to their respective databases since the matching DBXBEGIN mode 3 call. If user logging is enabled for the databases, mode 3 generates multiple entries in the log file, one for each database, in order to mark the roll-back of the dynamic transaction.
  • Mode 5: Roll-back top level transaction. If nested transactions are used this will roll-back any pending transaction.

Eloquence handles modes 1 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 and 3 are mapped to Eloquence mode 1

  • Mode 5 is mapped to Eloquence mode 3

  • Text is ignored
  • Nested transactions are allowed. If used, DBXUNDO most be called the same number of times as DBXBEGIN or mode 5 with DBXUNDO 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 DBXUNDO 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