On 31 May 2009, at 9:24pm, Jay A. Kreibich wrote: > The whole point of a transaction is that once it > returns "success" on a commit, it is committed to permanent storage, > no matter what -- including crashes, power failures, and other major > problems.
My impression is that COMMIT/ROLLBACK is for data integrity: don't update the account balance if the transaction didn't work. That sort of stuff. Not to deal with hardware failure. I think that these days your computer can never know when things that reached permanent storage. Permanent storage is too far away, behind too many levels of caching for the CPU to ever know about it. Your CPU may be virtual. Your storage medium may be virtual: a disk image, a RAID controller, emulated hardware, or something like that. If you talk to a hard disk by IDE it will be using onboard caching and not admitting it to the motherboard (most of them do this these days). Unless you're going to disable caching all the way down the line from CPU to physical hard disk, you're never going to get any real idea of what the hardware's doing. And if you did that it would low things down too much anyway. Cached writes do a really good job of speeding things up. Simon. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users