RR - Repeatable read
.You can only read fully committed updates
. Any data you read will be both consistent and persistent
. All your locks are retained until COMMIT
. DB2 locks anything it touches including any non-qualifying rows
. That means any row accessed during predicate evaluation
. Even if that row was not returned to your program
. Re-reading Cursor within a UOW guaranteed to return identical result
RR - Read Stability
. Similar to RR but locks are only held on qualifying rows
. Others can read and update non-qualifying rows as well as INSERT data
. Re-reading Cursor will get at least the same data but potentially more
CS - Cursor Stability
. You can only read fully committed updates
. Any data you read will be both consistent and persistent
. Your non-exclusive locks are only held with CURRENT OF CURSOR
. Released when you fetch the next row (dpends on CURRENTDATA)
. X-locks are retained until COMMIT
. If you re-read the same row twice within a UOW it may have changed
UR - Uncommitted Read (Also NC - No Commit)
. You can read any data,even if locked, as well as uncommitted updates.
. Data could be inconsistent and not persistent
. You take no read locks so others can read and update the same data.
. Isolation CS used for any updates to ensure data integrity.
. Important to note UR does not mean no locking
. Claims are still used, along with Update, XML and LOB locks.