Which isolation level will allow application A to immediately read the committed value of a row that is exclusively locked by application B?
Which isolation level will allow application A to immediately read the committed value of a row that is exclusively locked by application B?
The appropriate isolation level for ensuring that an application can read the committed value of a row that is exclusively locked by another application is 'Cursor Stability with WAIT FOR OUTCOME clause.' Cursor Stability (CS) generally means that a row read by the application holds a lock on the current row, releasing the lock when the cursor moves to the next row. However, in cases where rows are locked due to an ongoing transaction, the WAIT FOR OUTCOME clause specifies to wait until the committing or rollback of those transactions to access the data, which ensures that only committed data is read.
The good answer is "D. Cursor Stability with WAIT FOR OUTCOME clause A ". Indeed, WAIT FOR OUTCOME specifies to wait for the commit or rollback when encountering data in the process of being updated or deleted. Rows encountered that are in the process of being inserted are not skipped. Reference : https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0059223.html