Consider a database system that includes an atomic increment operation, in addition to the read and write operations. Let V be the value of data item X. The operation
increment(X) by C
sets the value of X to V + C in an atomic step. The value of X is not available to the transaction unless the latter executes a read(X). Figure 15.23 shows a lock-compatibility matrix for three lock modes: share mode, exclusive mode, and incrementation mode.
a. Show that, if all transactions lock the data that they access in the corresponding mode, then two-phase locking ensures serializability.
b. Show that the inclusion of increment mode locks allows for increased concurrency. (Hint: Consider check-clearing transactions in our bank example.)