Implementing Restart (rev 1)
Assume undo and redo are required
Scan the log backwards, starting at the end.
Construct a commit list and page list during the scan (assuming page level logging)
Commit(T) record => add T to commit list
Update record for P by T
- if P is not in the page list then
- add P to the page list
- if T is in the commit list, then redo the update, else undo the update