Rogue Wave banner
Previous fileTop of DocumentContentsIndexNext file

2.10 Transaction Processing

The Informix ODBC Driver provides a standard API for controlling transactions and setting isolation levels. The DBTools.h++ Informix Access Library maps its transaction control and isolation level methods to the corresponding Informix ODBC Driver methods. These methods are described in the following two sections.

2.10.1 Setting Isolation Levels

You can use the isolation() method of RWDBConnection to set the isolation level of the connected server. Table 5 shows the mapping between the argument you pass for IsolationType, and the isolation level set by the Informix ODBC driver using the SQLSetConnectionOption() call:

Table 5 -- Setting the isolation level

 
RWDBConnection:: IsolationTypeInformix ODBC Isolation Level
Unknown
SQL_TXN_READ_UNCOMMITTED
ANSILevel1
SQL_TXN_READ_COMMITTED
ANSILevel2
Not supported.
ANSILevel3
SQL_TXN_SERIALIZABLE

Special care should be taken when setting isolation levels, as this could affect all users of a server.

To determine the current isolation level, call RWDBConnection::isolation() without an argument.

2.10.2 Using Transaction Control Methods

You can explicitly control transactions through the following methods:

These methods have straightforward implementations that correspond to the following Informix ODBC Driver functions:

An application can add the DBTools.h++ transaction methods to its code to take explicit control of its transaction blocks. The following code demonstrates how these methods can be used to commit or to rollback transactions:

Please note that nested transactions and savepoint features are not supported by the Informix ODBC Driver.


NOTE: The Informix ODBC Driver does not support nested transactions and savepoint features.

Attempting to create a nested transaction generates a server error. Attempting to use the savepoint features of the DBTools.h++ API generates the error RWDBStatus::notSupported for the connection that tried.


Previous fileTop of DocumentContentsIndexNext file

©Copyright 2000, Rogue Wave Software, Inc.
Contact Rogue Wave about documentation or support issues.