Hi,

in java, the smallest long is
  -9223372036854775808

in SQLite it seems to be
  -9223372036854775807

sqlite> create temp table t as select -9223372036854775807,-9223372036854775808;
sqlite> select * from t;
-9223372036854775807|-9.22337203685478e+18

==> -9223372036854775808 is converted to a float!

Bug or feature?

BTW for positive integers the limit of 9223372036854775807 is correct.

How did I find it?

I have a table with integer keys.
  create table t ( k integer primary key);
From java I called
  "select k from t where k > %q";
with %q expanding to -9223372036854775808 (Long.MIN_VALUE)
did not return anything (I expected the entire table!)

Now I use (Long.MIN_VALUE+1).....

(Yes I know, I could omit the  where in this case...)

Michael

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to