-C Latest\supstream\sjimsh0.c\sfor\sminor\sportability\simprovements\sand\scleanups.
-D 2026-07-19T12:56:34.893
+C Fix\sboundary\scases\sof\srowid\slookup\susing\svery\slarge\sfloating\spoint\svalues\s-\nvalues\snear\sthe\sminimum\sand\smaximum\s64-bit\ssigned\sinteger.\n[forum:/info/2026-07-19T07:31:46Z|Forum\s2026-07-19T07:31:46Z].
+D 2026-07-19T19:49:24.674
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F src/utf.c 7267c3fb9e2467020507601af3354c2446c61f444387e094c779dccd5ca62165
F src/util.c fcab5d997364c657e973e2bd3b9d2181aeb0926be0c028f20dfd4445894af3b4
F src/vacuum.c d3d35d8ae893d419ade5fa196d761a83bddcbb62137a1a157ae751ef38b26e82
-F src/vdbe.c 6397694fa506aa1841dc8bb6a17c514aa602a4ad2515024fcd5880558c1ef57f
+F src/vdbe.c 30a41b3b7452eba63ad6451d74b8363096b82eecb27c4c9ab1cb9c2aa6cf4ffb
F src/vdbe.h 70e862ac8a11b590f8c1eaac17a0078429d42bc4ea3f757a9af0f451dd966a71
F src/vdbeInt.h c31ba4dc8d280c2b1dc89c6fcee68f2555e3813ab34279552c20b964c0e338b1
F src/vdbeapi.c 6ad0c841b6cb87de068f71787f385149d794e8830176bf72d09a36b9f655ac5b
F test/intck01.sql cc67c49bb0dbffd8ede29d3e095ba2b758eaa3907eeeca3fd44048a01c4071d3
F test/interrupt.test ac1ef50ec9ab8e4f0e17c47629f82539d4b22558904e321ed5abea2e6187da7a
F test/interrupt2.test 7eaa40a975d950826cd56e6c37f0f0629adfa2d1a8d3333aff0ff7cf86069963
-F test/intpkey.test 7d54711acf553cdd641a40e9c6cfc2bf1a76070074940c1b126442517054320f
+F test/intpkey.test e8feb8326089e78bfb6bfe03c2005c920b87417a692f33369ae953692c51c8d9
F test/intreal.test 68829a8bb073ee1610ca3f8f9e0f99b0371fb36e0fa64862dd5ced4ef03c2343
F test/io.test d267fdc8915444a45e19841489033ebe70bb69f6db605b00df70be16b2a80f59
F test/ioerr.test 78552a95d53b9674d85f63bdf3d76a8df70b4d5dba5a6a1b8a1d60f166cd2c6b
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P bb65c3adcd79581715f90d287807a3f03b375f69957c7d0202d31b23cf627da0
-R 07d5ed11feeeb19c0c15c9e258798cf2
-U stephan
-Z c0d6fb70c2f55c80d47dcabd81ae5f01
+P 436cf63e941b3db936a01d4584c9e3cc9675ce9ef4b6689530218c27252c170d
+R d5f2585f74441642eac52f7b29db0d93
+U drh
+Z 7d9a924e268268fab71b80580c8683dc
# Remove this line to create a well-formed Fossil manifest.
-436cf63e941b3db936a01d4584c9e3cc9675ce9ef4b6689530218c27252c170d
+987ba5a3dc5f2a2294b77ef3ec1ea06682f0530a7268777c6b64985dd0e90d40
VdbeCursor *pC;
BtCursor *pCrsr;
int res;
- u64 iKey;
+ i64 iKey;
pIn3 = &aMem[pOp->p3];
testcase( pIn3->flags & MEM_Int );
** changing the datatype of pIn3, however, as it is used by other
** parts of the prepared statement. */
Mem x = pIn3[0];
- applyAffinity(&x, SQLITE_AFF_NUMERIC, encoding);
- if( (x.flags & MEM_Int)==0 ) goto jump_to_p2;
- iKey = x.u.i;
+ if( x.flags & MEM_Str ){
+ applyNumericAffinity(&x, 1);
+ }
+ if( x.flags & MEM_Int ){
+ iKey = x.u.i;
+ }else
+ if( (x.flags & MEM_Real)==0
+ || x.u.r < -9223372036854775808.0
+ || x.u.r > 9223372036854775807.0
+ || (double)(iKey = sqlite3RealToI64(x.u.r))!=x.u.r
+ ){
+ goto jump_to_p2;
+ }
goto notExistsWithKey;
}
/* Fall through into OP_NotExists */
SELECT b FROM t1 WHERE a=2.0+3.0;
}
} {hello}
-do_test intpkey-11.1 {
+do_test intpkey-11.2 {
execsql {
SELECT b FROM t1 WHERE a=2.0+3.5;
}
SELECT * FROM t17 ORDER BY +x;
} {123 elephant 248 ostrich}
+# Forum post 2026-07-19T07:31:46Z
+#
+reset_db
+do_execsql_test intpkey-18.0 {
+ CREATE TABLE t1(x);
+ INSERT INTO t1(rowid,x) VALUES
+ (-9223372036854775808, 'min-int'),
+ (0, 'zero'),
+ (9223372036854775807, 'max-int');
+ SELECT rowid, * FROM t1 ORDER BY rowid;
+} {-9223372036854775808 min-int 0 zero 9223372036854775807 max-int}
+do_execsql_test intpkey-18.1 {
+ SELECT x FROM t1 WHERE rowid = -9223372036854775808;
+} {min-int}
+do_execsql_test intpkey-18.2 {
+ SELECT x FROM t1 WHERE rowid = -9223372036854775808.0;
+} {min-int}
+do_execsql_test intpkey-18.3 {
+ SELECT x FROM t1 WHERE rowid = -9223372036854775809.0;
+} {min-int}
+do_execsql_test intpkey-18.4 {
+ SELECT x FROM t1 WHERE rowid = -9223372036854777856.0;
+} {}
+do_execsql_test intpkey-18.5 {
+ SELECT x FROM t1 WHERE rowid = +9223372036854775807;
+} {max-int}
+do_execsql_test intpkey-18.6 {
+ SELECT x FROM t1 WHERE rowid = +9223372036854775807.0;
+} {max-int}
+do_execsql_test intpkey-18.7 {
+ SELECT x FROM t1 WHERE rowid = +9223372036854775808.0;
+} {max-int}
+do_execsql_test intpkey-18.8 {
+ SELECT x FROM t1 WHERE rowid = +9223372036854777856.0;
+} {}
+
finish_test