HP 3000 Manuals

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