Non-Serializable Examples
r1[x] r2[x] w2[x] w1[x] (race condition)
- e.g. T1 and T2 are each adding 100 to x
r1[x] r2[y] w2[x] w1[y]
- e.g. each transaction is trying to make x = y, but the interleaved effect is a swap
r1[x] r1[y] w1[x] r2[x] r2[y] c2 w1[y] c1(inconsistent retrieval)
- e.g. T1 is moving $100 from x to y.
- T2 sees only half of the result of T1
Compare to the OS view of synchronization