One topic that comes up here from time to time is the difficulty of ensuring ACIDity and resilience under power failure, even if your code is 100% correct, because the OS lies to your app and hardware lies to the OS. It's difficult explaining this stuff because a programmer /has/ to rely on OS services somewhere along the line -- the only alternative is to design your own hardware and OS from scratch.
So here's a short ACM article by Marshall KcKusick called _Disks from the Perspective of a File System_, but the subtitle is better: _Disks lie_. <http://queue.acm.org/detail.cfm?id=2367378> The first half of the article is about these subjects, ending with the nemesis of ACID: out-of-order writing. The second half of the article, about sector sizes, is less relevant to what we discuss here. As always with this subject, the article has many small details missed out. To cover this in full detail would take a book -- a book which wouldn't be worth reading because it would just explain the problems, not help to solve them. So don't believe everything he writes to be a full explanation, just like most of the posts to this list don't explain every single aspect of the problem. It's enough to get you thinking about the right issues. Simon. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users