> On Aug 25, 2018, at 5:21 PM, D Burgess <[email protected]> wrote: > > The data includes unsigned 32 bit integers which are stored as float > (don't ask me why, I guess the primary reason is the same reason that > 32bit Lua uses floats as integers).
That seems like a mistake on their part, since unsigned 32-bit ints can obviously be stored in SQLite as 64-bit ints (without space penalty, since the database uses a variable-length encoding for ints.) > 2. Mixed 64/32 bit system that has integers that use the full 64 bits. > Numbers are sourced by realtime hardware. > Absence of 64 bit unsigned means addition of few functions to handle > inserts and display representation(s), numbers stored as text/blobs. As I think I said before, you can store these as signed ints. Addition, subtraction and equality tests will work fine. Greater/less comparisons take either a bit of SQL logic or a custom C collation function. Other arithmetic operations require custom functions. But you save the extra overhead and complexity of blobs. I’m not denying that bignums would be cool. But SQLite is a small database engine and there are a lot of cool features it deliberately omits. —Jens _______________________________________________ sqlite-users mailing list [email protected] http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

