|
Transaction: lock(A) ... lock(B) ... ... lock(X) ... ... unlock(B) ... unlock(X) ... unlock(A) ... |
The 2 phases:
|
Notice:
|
We saw in the previous example that execution using 2-phase locking results in a consistent database state:
|
We have also seen an example previously:
Notice:
|
Execution results in INconsistent database state: