On 5/9/19, David Raymond <[email protected]> wrote:
> I'm curious as to what part of the integrity got
> broken.

There is an index on a REAL value.  Maintaining such an index requires
doing equality comparisons on floating-point values.  The dangers of
doing equality comparisons on floating-point values are well known.
This is appears to be an instance where SQLite is not handling this
inherently risky operation quite correctly.  My initial guess is that
the problem is somehow related to SQLite's attempts to store floating
point values as integers in order to safe disk space, when the
floating point value can be represented by an integer.  That
optimization works well when storing floating point values like 1.0
and 0.0, but might be running into round-off error problems when
storing 9223372036854775807.0.  Still looking.....
-- 
D. Richard Hipp
[email protected]
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to