5.3 A bullet-proof Database

The database system seen before is simple and nice, but not very robust. For example, if there is a power shut-down while the save_changes method is running, the transaction will be half saved, and our filesystem database will be left in an inconsistent state.

To address this issue, for applications that require the transactions to be atomic whatever happens, the itools.handlers package includes the SafeDatabase class.

TODO