On Mar 12, 2019, at 11:30 AM, Ted Goldblatt <[email protected]> wrote: > > I have been writing software for too many decades to casually dismiss the > possibilities of software bugs. If there couldn't be bugs in SQLite, there > would have been no bug fixes since the version being used here, and having > briefly perused the revision history, it is obvious that isn't the case.
All true, but which is more likely: a bug in code you, your coworkers, and your niche suppliers wrote, or that which has been in continuous development for 15 years, used by millions of developers, and by billions of end users? (15 years counts from SQLite 3.0.0. Prior major versions were built atop differing core technology.) I’d expect bugs in SQLite to be about as rare as bugs in top-tier language compilers for the most popular programming languages. From your stated experience, you should know by now how rarely correct the claim “Compiler bug!” is. > Further, different users run in different environments and do different > things, both of which can shake loose bugs or unexpected behaviors. Also true, but consider those millions of SQLite developers: they’ve tried configurations you’ve never even thought about. The inverse is also true: maybe you’ve managed to come up with a configuration that no one else has tried, or at least reported on. But statistically, the chances of that being true are really low. “When you hear hoofbeats, think horses, not zebras.” > It is NAND flash parts soldered to the PC board and directly addressed by the > (locally written) low-level device driver. I can assure you that there was no > one to be impressed by any performance numbers Why then does the first page of a data sheet usually give specs and other claims that get whittled away by subsequent pages? I think the marketing departments of every silicon vendor on the planet would disagree that there’s no need to be impressing their customers with performance numbers. I’m reminded of an op-amp I once used that gave its headline specs in unity gain terms on the first page, but on page 9 they showed a graph that guaranteed that it’d take off into oscillation if presented an input signal around about 40 MHz with unity gain. And it did! The circuit I used it in wasn’t anywhere near that wide in bandwidth, but ambient RFI doesn’t care what bandwidth I intended the circuit to accept. I just checked the current version of that data sheet, and it’s still making the same dodgy claim. And the chip is from a top-tier US-based vendor. > What may be an issue, however, is the (real-time OS supplied) file system > driver, which *could* do buffering and *might *not honor sync() properly. Quite possible. It’s not just hardware that lies about fsync(). _______________________________________________ sqlite-users mailing list [email protected] http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

