5 ms·
For discussion on SQLite 3.39.0, see https://news.ycombinator.com/item?id=31876604 https://news.ycombinator.com/item?id=31876604 I'm not sure why a minor SQLit
by pdw 4y ago
For discussion on SQLite 3.39.0, see https://news.ycombinator.com/item?id=31876604 https://news.ycombinator.com/item?id=31876604
I'm not sure why a minor SQLite bugfix release needs to be posted here.
- masklinn 4y ago> I'm not sure why a minor SQLite bugfix release needs to be posted here. Karma, probably.
- nerdponx 4y agoThis for sure. "Minor release of well-liked software" is an easy hit on the front page.
- dvfjsdhgfv 4y agoFrankly, I don't get it. What do you do with this karma? What does it even mean? If we could exchange it for money or whatever, I could understand. It's not even an indicator of competence or anything, just being in line with the majority and spending time on HN. It's the equivalent of points and badges on Google Maps.
- masklinn 4y agoInternet points is the most important currency of your heart. It defines your worth as a human being. Also I think some HN features are gated on karma? I’d like a feature where the markup isn’t complete shit but apparently I don’t have enough karma for that.
- ainar-g 4y agoI consider these to be reminders that even with a state-of-the-art testing suite and 100 % branch coverage, bugs still find a way, heh.
- jessermeyer 4y agoBranch coverage is a tiny fraction of total program state coverage.
- psadri 4y agoCould yo I elaborate on this? Do you mean things like exceptions that are not explicitly dealt with in the code?
- btilly 4y agoA simple example is when somewhere in code you set a value that causes you to go into the wrong branch later. You may have tested that every single branch does what it is supposed to, but this "state here causes unexpected behavior there" can still be open.
- masklinn 4y agoBranch coverage just means you’ve taken every branch, not every combination of every branch, for starters. Then there’s branchless boundary conditions e.g. your software might fuck up on overflow, but there’s no branching, at least not in your code. Just things which get incoherent in ways you had not anticipated.
- arinlen 4y ago> Could yo I elaborate on this? Think about it for a second. Imagine you have function(bool foo, bool bar) { if(foo) { //Something } else { //Something else } if(bar) { //Something } else { //Something else } } If you add two unit tests that test foo(true,true) and foo(false, false) you get 100% line and branch coverage, but only hit 50% path coverage.
- djbusby 4y agoIt's cause of the finally added outer join?
- forbiddenlake 4y agoThat was released more than two months ago, though. This point release is much smaller.
- xbar 4y agoi appreciate it. I would never touch a .0 release of a new version of SQLite. No shame against them or their fantastic quality--it's just that I have lived through literal decades of watching minor database bugs shatter data value and undermine all efficiency. When I see a .3 or better, I start thinking a version is usable. The fact the SQLite moves their quality needle this quickly is encouraging. But maybe .4 can go more quietly.
- chasil 4y agoYou really do not need to exercise such caution with SQLite. Because of the DO-178B status, SQLite is sufficiently reliable to be used with in-flight avionics (on Airbus A350 models, noted so far). The test suite requires every branch instruction to be exercised at the machine-language level, in both directions if conditional. The software that we are used to is not held to this exacting standard. If we were talking about Oracle or SQL Server, .0 version hesitance is valid, and SQLite tests have crashed both of them, repeatedly. Obviously, they cannot be used with applications requiring DO-178B compliance. This document is part of that testing compliance: https://www.sqlite.org/qmplan.html https://www.sqlite.org/qmplan.html
- pkhuong 4y agoAnd yet TFA shows that 3.39.0 introduced a new feature (right joins), and 3.39.1 fixes a logic bug in exactly that new feature. I suppose you're right that it's not a crash, just an incorrect result.
- 4y ago
- manimino 4y agoHN is really up on SQLite at the moment. If an AI were trained to write hit HN posts, "Writing Rust Extensions For SQLite" would probably be in the top results.
- polyrand 4y agoI actually wrote a blog post about that: https://ricardoanderegg.com/posts/extending-sqlite-with-rust/ https://ricardoanderegg.com/posts/extending-sqlite-with-rust...
- masklinn 4y agoWhy are you posting that in a comment? Submit it and the karma is yours!
- polyrand 4y agoI submitted it when I wrote that blog post, but it went unnoticed [0]. [0]: https://news.ycombinator.com/item?id=31388241 https://news.ycombinator.com/item?id=31388241
- dvfjsdhgfv 4y agoMaybe it's a question of timing? I've just resubmitted it, let's see what happens.
- tux3 4y agoAnd it's now made the front page... twice at the same time :)
- elteto 4y ago"Rewriting SQLite in Rust" would probably come in second :)
- Hackbraten 4y agoLaunch HN: ElectronSucks (YC W22) – Rust Extensions for SQLite