On 2015/01/29 05:05, James K. Lowden wrote:
There's no reason to think, if the data are provided in binary form, that they won't be returned in the identical form absent an explicit conversion. If that's not so, I'd sure like to know why. I'm faintly surprised NaNs can't be stored, too. Why should SQLlite interpret them if they're bound to a double?

Indeed, which is what all the posts have been saying more or less in terms of 
round-tripping all but NaNs.

In the case of NaN though, there are two defined NaNs, namely qNaN and sNan which both means the same but the sNaN will cause an exception even at hardware level by merely passing through any register, which I believe is its intended purpose. This means that in order for software to work correctly, it should never let an sNaN pass through untouched, it should produce an error so all parties are savvy to the wrongness that just occured (Even if the software in use is not specifically checking for NaN, an sNaN should still cause an exception from lower down).

qNaN should pass through and round-trip same as any other float. I'm not sure how SQLite handles either of these NaNs, but am now quite interested to know.

sqlite-users mailing list

Reply via email to