R1(A) // The read of object A returns 100
W1(A) // The write adds 50 to the value and we get 150
W2(A) // Do a dirty write of 200
Commit T2
R3(A) // Read new value of A returns 200
W3(A) // Add 50 to the value to get 250
Commit T3
Commit T1
如果我替换了T1的提交,我对这一个场景感到有点困惑 反而中止,R3(A)的操作是200还是100?由于操作W2(A)甚至不关心由T1产生的A的值是否仍受影响?
编辑: 为了更清楚,我有三个交易,我称之为T1,T2,T3。每个事务都可以对数据库所在的磁盘执行某些数据的(R)ead和(W)仪式。如果这是正确的术语,我主要询问关于级联中止的这个问题。交易也按顺序从上到下发生。