On 1 Feb 2016, at 11:24am, Rowan Worth <rowanw at dugeo.com> wrote: > > I take your point, but as Florian pointed out it's not just one file > system; its a somewhat well known quirk of POSIX fsync. > http://blog.httrack.com/blog/2013/11/15/everything-you-always-wanted-to-know-about-fsync/ > > It's a bit disingenuous to say "the file system requires a particular dance > to ensure an unlink persists on disk, but the dance is excessively complex > so we're going to skip it and blame any problems on the file system." The > fact remains that sqlite returned SQLITE_OK for a transaction that never > succeeded, because it didn't take the steps required for the i/o to hit > disk.
Well, that's a fair point. The problem is that SQLite does not know it's running on POSIX. It does, however, have different VFSes for different platforms. So the logical place to put this would be in the VFS. At least that's what it looks like to me but I don't know much about the programming that goes into SQLite. Simon.