if( r<(double)SMALLEST_INT64 ){
iMin = SMALLEST_INT64;
}else if( (idxNum & 0x0200)!=0 && r==seriesCeil(r) ){
- iMin = (sqlite3_int64)seriesCeil(r+1.0);
+ iMin = (sqlite3_int64)seriesCeil(r)+1;
}else{
iMin = (sqlite3_int64)seriesCeil(r);
}
if( r>(double)LARGEST_INT64 ){
iMax = LARGEST_INT64;
}else if( (idxNum & 0x2000)!=0 && r==seriesFloor(r) ){
- iMax = (sqlite3_int64)(r-1.0);
+ iMax = ((sqlite3_int64)r)-1;
}else{
iMax = (sqlite3_int64)seriesFloor(r);
}
-C Version\s3.53.1
-D 2026-05-05T10:34:17.344
+C Fix\sa\scorner-case\sfloating-point\srounding\sproblem\sin\sthe\sgenerate_series()\nvirtual\stable.
+D 2026-05-09T12:08:59.538
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F ext/misc/remember.c add730f0f7e7436cd15ea3fd6a90fd83c3f706ab44169f7f048438b7d6baa69c
F ext/misc/rot13.c 51ac5f51e9d5fd811db58a9c23c628ad5f333c173f1fc53c8491a3603d38556c
F ext/misc/scrub.c df54e202887e480bf9cd73168c9ac829e3b0211381b68b9809e0cb5bc1bdc2cf
-F ext/misc/series.c 9454c7ef27d3729432496f31caabc892aeee1c21377d403f681126d93c09d6e9
+F ext/misc/series.c 496f43bac9bad2ee2cea63fb5212036f30ad3003b4cd317d5c2d6f3ad7c7d264
F ext/misc/sha1.c 8bf60344c11a525384c2efd1ae77f160b06be336db679effaadf292d4b41451c
F ext/misc/shathree.c fd22d70620f86a0467acfdd3acd8435d5cb54eb1e2d9ff36ae44e389826993df
F ext/misc/showauth.c 732578f0fe4ce42d577e1c86dc89dd14a006ab52
F test/sync2.test 06152269ed73128782c450c355988fe8dd794d305833af75e1a5e79edd4dae47
F test/syscall.test a067468b43b8cb2305e9f9fe414e5f40c875bb5d2cba5f00b8154396e95fcf37
F test/sysfault.test c9f2b0d8d677558f74de750c75e12a5454719d04
-F test/tabfunc01.test cfa96a9a235c39fb0cae69928b989b28bfec108f62d2533486f76e32dcedfdfb
+F test/tabfunc01.test 7827c2dfd57a094125b059f51a2200eaf04d417af6b1e720c34a8cbf54e8a14f
F test/table.test e87294bf1c80bfd7792142b84ab32ea5beb4f3f71e535d7fb263a6b2068377bf
F test/tableapi.test e37c33e6be2276e3a96bb54b00eea7f321277115d10e5b30fdb52a112b432750
F test/tableopts.test dba698ba97251017b7c80d738c198d39ab747930
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P 1d2f770713f9d75d0de923515f4cee8ff83e95826d77f049b7bb1fbfad042248
-R 9347e8a0cd885b5583c5865d60ed1eac
-T +sym-release *
-T +sym-version-3.53.1 *
+P c88b22011a54b4f6fbd149e9f8e4de77658ce58143a1af0e3785e4e6475127e9
+Q +ff56785674ebeb1d4bab66ba0827956a2728c8c14419f933d40dc0152efbd4f5
+R adb7defb152f8efd4fdd780298209a39
U drh
-Z 312c96b4c11e74d0ea93a2c45332ff6e
+Z 6ab89dc3ebd48af6f43782a6b522b1d2
# Remove this line to create a well-formed Fossil manifest.
SELECT * FROM generate_series(0,0,0);
} {}
+# Forum post 2026-05-09T07:41:32Z
+set subtest 1
+foreach bound {
+ 9007199254740991.0
+ 9007199254740991.1
+ 9007199254740991.5
+ 9007199254740991.9
+ 9007199254740992.0
+ 9007199254740992.1
+ 9007199254740992.5
+ 9007199254740992.9
+ 9007199254740993.0
+ 9007199254740993.1
+ 9007199254740993.5
+} {
+ foreach {range boundsign} {
+ (+9007199254740990,+9007199254740995) +
+ (-9007199254740995,-9007199254740990) -
+ } {
+ set bx $boundsign$bound
+ foreach op {< > <= >=} {
+ do_execsql_test 1380.$subtest "
+ SELECT 'value $op $bx' WHERE (
+ SELECT group_concat(value) FROM generate_series $range
+ WHERE value $op $bx)<>(
+ SELECT group_concat(value) FROM generate_series $range
+ WHERE +value $op $bx);
+ " {}
+ incr subtest
+ }
+ }
+}
+
reset_db
load_static_extension db series
do_execsql_test 1400 {