Setting Isolation Levels [ Information Access SQL/iX ] MPE/iX 5.0 Documentation
Information Access SQL/iX
Setting Isolation Levels
You can set isolation levels for PC users who are performing transactions
in ALLBASE/SQL. Isolation level refers to the length of time that
low-level locks are held during a transaction. The isolation level
pertains only to locks acquired while reading; locks acquired while
writing always remain locked for the entire transaction.
The four isolation levels are:
* RR (Repeatable Read)
Any page read during the transaction remains locked for the
duration of the transaction.
* CS (Cursor Stability)
A subset of pages is held locked for a time and unlocked only
after the application is finished with that subset.
* RC (Read Committed)
The same subset of pages mentioned for CS is locked only while
ALLBASE/SQL is reading them, and is then unlocked before the
application receives the data.
* RU (Read Uncommitted)
RU is the default isolation level used by Access SQL/iX. No pages
are locked. Pages that are locked and being modified by other
applications can still be read by a transaction with an RU
isolation level. These are known as "dirty reads" and may result
in invalid data being read.
The isolation level can be declared globally or for a specific user.
* To set a global isolation level, specify it in the IASQL.PPC.SYS
file. For example:
SETVAR ISOLATION_LEVEL "RC"
* To set the isolation level for a specific user, specify it in the
user's IASQL file.
A user-specific setting always supersedes a global setting.
If, after processing global and then user settings, ISOLATION_LEVEL is
set to an invalid value, the default of RU is used. This is true even if
the system file contains a "good" value and the user file contains a bad
value.
If tracing is turned on, the following data is reported in the server log
file: isolation level request or the rejected bad value, and the
isolation level being used.
See the ALLBASE/SQL Reference Manual and the ALLBASE/SQL Database
Administration Guide for more information about isolation levels.
MPE/iX 5.0 Documentation