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.

Mike,

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?

Regards

Dibyendu


Mime
View raw message