If a row is modified by a transaction that uses the SNAPSHOT isolation level, any concurrent update (by another transaction) to the same row causes the SNAPSHOT transaction to fail with a conflict.
Is there a way to have the same behavior happen with rows that have only been read (not necessarily modified)?
As an example, I am looking to have TX1 fail with conflict if the following sequence happens:
- TX1 starts with SNAPSHOT isolation level
- TX1 reads row 1
- TX2 modifies row 1 and commits
- TX1 commits, and fail with a conflict as row 1 has been modified after it has been read