Slideshow:
|
|
|
|
|
Transaction manager executes an operation
/* =======================================
Undo log write rule R1
======================================= */
if ( operation = OUTPUT(X) (to disk) )
{
1. FLUSH log (on disk); // This will OUTPUT <T, X, v> to disk
2. OUTPUT(X) (on disk);
}
/* =======================================
Undo log write rule R2
======================================= */
else if ( operation = OUTPUT <COMMIT T> (to disk) )
{
1. for ( each DB item D updated by transaction T )
{
OUTPUT(D); // Write (new value) to disk
}
2a. write <COMMIT T> to log;
2b. FLUSH log (to disk);
}
else
{
Execute operation // No further action needed
}
|
|
|
Note:
|
|