"Patrick W. Barnes" <nman64(a)n-man.com> writes:
[...] Going further on the database terms, most of the work you do
on a transaction is *preparing* the transaction. Once the
transaction is *ready*, you have a final opportunity to cancel the
transaction before you *commit* the transaction. The commit stage
is where the real work of the transaction is done, and it is the one
stage that you don't want to interrupt. [...] or there's no
telling what sort of condition the database will be left in. [...]
Maybe baby databases without proper logging have problems with this
sort of thing (interruption during a commit), but adult ones can roll
back even then. If they couldn't, they wouldn't be atomic in the face
of abrupt system failures.
If RPM maintained a proper log of its actions during installation, it
could be more of a ... let's say teenager database than a baby one.
- FChE