db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dibyendu Majumdar <dibye...@mazumdar.demon.co.uk>
Subject Re: Derby architecture/design documents
Date Tue, 01 Feb 2005 23:44:50 GMT
Mike Matrigali wrote:
> As you note undo of structural changes are
> physical.  So at the high level recovery goes as follows:
> Find the oldest log record that needs to be looked at.
> Go forward from that point and redo each record in log file
>     (if version of page is later than log record then no work to do)
> Undo all nested top transactions which must only require physical undo,
>     which are basically structural changes
>     like btree split and/or page allocations.  Now all tree structures
>     are intact so that logical undo is possible.


About structural changes - I assume that only incomplete structural 
changes are undone? If a structural change is complete, then even if the 
transaction that caused that structural change aborts, there should be 
no need to undo the structural change itself, although the key insert/or 
delete has to be obviously undone.

If this is not the case, then how does Derby handle the situation where 
a structural change has been made, and subsequently other transactions 
have made more changes, and then the original transaction that made the 
structural change, decides to abort?



View raw message