> "Dibyendu Majumdar" wrote: > . . . The forward change from A to B (redo) and the reversal of B to A (undo) are both recorded as updates to the system.
At what point does a change from A to B cause the creation of a log/recovery record? For example, if a column has a current value of A and the change to B would cause a violation of a check, unique or foreign key constraint will a log record be created or will the change have already been rejected? There will potentially be more complicated scenario's where a change causes a trigger, or other side effect, to be executed. Generally speaking, at what point do the log/recovery records for these multiple changes get created? Only if the attempted changes meet all of the criteria for acceptance? That is, only if they would be accepted were a COMMIT to be performed?
