Question: Suppose a transaction deletes a record, and the free space generated thus is allocated to a record inserted by another transaction, even before the first
Suppose a transaction deletes a record, and the free space generated thus is allocated to a record inserted by another transaction, even before the first transaction commits.
a. What problem can occur if the first transaction needs to be rolled back?
b. Would this problem be an issue if page-level locking is used instead of tuple-level locking?
c. Suggest how to solve this problem while supporting tuple-level locking, by logging post-commit actions in special log records, and executing them after commit. Make sure your scheme ensures that such actions are performed exactly once.
Step by Step Solution
3.41 Rating (164 Votes )
There are 3 Steps involved in it
a If the first transaction needs to be rolled back then the ... View full answer
Get step-by-step solutions from verified subject matter experts
