Hi, I'm using sqlite3 TCL extension from Teapot (version 64-bit). When I try to insert number bigger than signed 32-bit it inserts wrong number to database. Same code run with 32-bit version works fine.
Example in TCL console illustrating this issue: % info patchlevel 8.6.4 % package require sqlite3 3.8.10.2 % set l1 [expr {2 ** 31 - 1}] 2147483647 % set l2 2147483649 2147483649 % set l3 [expr {$l1 + 2}] 2147483649 % ::tcl::unsupported::representation $l1 value is a int with a refcount of 3, object pointer at 00000000006CEB10, internal representation 000000007FFFFFFF:0000000000000000, string representation "2147483647" % ::tcl::unsupported::representation $l2 value is a pure string with a refcount of 4, object pointer at 00000000006CE930, string representation "2147483649" % ::tcl::unsupported::representation $l3 value is a wideInt with a refcount of 2, object pointer at 00000000006CF2F0, internal representation 0000000080000001:0000000000000000, string representation "2147483649" % sqlite3 db C:/tmp/test.sqlite % db eval { CREATE TABLE test (num NUMERIC); INSERT INTO test (num) VALUES ($l1), ($l2), ($l3); SELECT * FROM test; } 2147483647 2147483649 -2147483647 Regards, RP.