[prev] 11 [next]

Execution of Transactions (cont)

States as the transaction executes:

t   Action        v  Buf(A)  Buf(B)  Disk(A)  Disk(B)
-----------------------------------------------------
(0) BEGIN         .      .       .        8        5
(1) READ(A,v)     8      8       .        8        5
(2) v = v*2      16      8       .        8        5
(3) WRITE(A,v)   16     16       .        8        5
(4) READ(B,v)     5     16       5        8        5
(5) v = v+1       6     16       5        8        5
(6) WRITE(B,v)    6     16       6        8        5
(7) COMMIT        6     16       6        8        5
(8) OUTPUT(A)     6     16       6       16        5
(9) OUTPUT(B)     6     16       6       16        6
(*) committed     -      -       -       16        6

If system crashes before (7), may need to undo disk changes.
If system crashes after (7), may need to redo disk changes.