Communicator e3000 MPE/iX Release 6.5 (Non-Platform Software Release C.65.00 (30216-90291)
Chapter 5 129
Internet and Interoperability
Large Transactions for IMAGE Users
• to commit the transaction (through a call to DBXEND)
• to rollback the transaction (through a call to DBXUNDO)
Thus, there will not be a situation in which the transaction size reaches the hard limit
resulting in automatic rollback and process abort.
Once the decision on rollback/ commit has been made and executed, you can start a new
dynamic transaction to continue the job until the next softlimit warning is reached, and
respond as above. The softlimit has been chosen to be at 28 MB. At any stage, if it is
desired not to use this feature, the new DBCONTROL mode-19 can be used to reset the flag in
IMAGE, so that no early warning, or forced commit/rollback occurs. To have compatibility
with existing applications, the flag is not set by default, that is, by default there won’t be
any user control on the transaction size, which can grow to 32 MB.
Once 32 MB has been reached, XMl aborts the process with a “Stalled Transaction”
message, and IMAGE automatically rolls back the transaction and leaves the database in
a consistent state.
A typical usage sequence to make use of the new feature is:
• DBCONTROL Mode 18
• DBXBEGIN
• Intrinsics like DBPUT, DBDELETE or DBUPDATE
• Receives soft limit warning (message # -1025) from the modify intrinsics
DBPUT/DBDELETE/DBUPDATE, when softlimit is reached.
• DBXUNDO / DBXEND
NOTE
DBCONTROL Mode 18, has to be called before the start of a dynamic
transaction, that is, before DBXBEGIN. (Otherwise, it returns an error
message, and does not have any effect on the transaction manager). However,
DBCONTROL Mode 19, can be called anywhere in the program. It turns off the
detection of the softlimit warning message from XM, regardless of whether it
is set or reset.
Image/SQL and ALLBASE/SQL
For the benefit of users doing bulk deletes, ALLBASE has a “DELETE WITH AUTOCOMMIT”
feature for ALLBASE tables. Now this facility has been extended to IMAGE tables as well.
IMAGE/SQL and ALLBASE/SQL have been enhanced to support this. The command
would be “DELETE WITH AUTOCOMMIT FROM” owner.table [WHERE search conditions].
However, this option has to be exercised with great care, as IMAGE/SQL does periodic
commits at internally maintained intervals, and there is not any way to rollback the
deletes. For bulk deletes, the autocommit feature is very useful in that, chances of hitting
the 32 MB limit is remote.