I think the main thing here is T1 abort . If I am not mistaken until the transactions are completed, I can safely assume that the disk has not been modified. This means that when T1 interrupts the state of the database, it is the same as this sequence of operations. And this is a T2 scan.
So, if we had
write(T1, balx), write(T1, balx), abort(T1), read(T2, balx), commit(T2) read(T2, balx), commit(T2), write(T1, balx), write(T1, balx), abort(T1)
Then the state of the database and T2 transactions will be the same as in your example. Now, if T1 commits, you'll be right in calling up the priority schedule.
source share