MaxDB allows concurrent transactions on database objects. To do this, it uses a lock concept that creates locks on rows and tables to contain individual transactions. The lock operation type plays an important role in this. This is determined by defining an isolation level.
The system default value for the lock operation type is Committed.
The set lock operation type can be overridden by the application using the function SQLSetConnectAttr and queried with SQLGetConnectAttr.
IsolationLevel =
Uncommitted
| Committed
| Repeatable
| Serializable
Overview of the possible lock operation types
Dirty Read |
Non-Repeatable Read |
Phantom Read |
|
Uncommitted |
x |
x |
x |
Committed |
|
x |
x |
Repeatable |
|
|
x |
Serializable |
|
|
|
The lock operation type Uncommitted corresponds to the weakest isolation level (0), while Serializable corresponds to the strongest isolation level (4).
To change the IsolationLeveloption, follow the procedure described under Creating and Changing Data Sources on UNIX/Linux.
The value defined in this way then applies for all connections of the data source.