TurboIMAGE/XL Database Management System Reference Manual MPE/iX V6.5 (30391-90011)

Chapter 5 241
TurboIMAGE/XL Library Procedures
DBXUNDO
5-10 Procedure call information. Refer to "Library Procedure
Error Messages" in appendix A for a description of this
information.
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.
Discussion
DBXUNDO is called to dynamically roll back a sequence of TurboIMAGE/XL procedure
calls that completed successfully inside a dynamic transaction. The beginning of such a
sequence is designated by a previous call to DBXBEGIN. DBXUNDO cannot be called to roll
back a transaction started by DBBEGIN or if the database is enabled for AUTODEFER.
Logging and DBRECOV are not needed with dynamic transactions, because the database can
be recovered dynamically. However, if the calling process is logging, DBXUNDO causes a
record to be written to the log file to identify the transaction in the event it needs to be
recovered.
CAUTION
After DBXUNDO is called, the current record pointer, current path, current list,
and chronological order prior to the call to DBXBEGIN may not be restored.
DBXUNDO cannot be called to roll back a transaction started by DBBEGIN. DBXUNDO returns
an error condition if it is called without a prior matching call to DBXBEGIN. DBXEND is not
necessary after DBXUNDO. DBXUNDO rolls back the entire transaction, and then
transactions continue according to the logic of the program. In general, DBXUNDO or DBXEND
must be the last intrinsic for a dynamic transaction to be executed. It designates the end of
that dynamic transaction.