Index: ext/rtree/rtree.c ================================================================== --- ext/rtree/rtree.c +++ ext/rtree/rtree.c @@ -61,22 +61,28 @@ SQLITE_EXTENSION_INIT1 #else #include "sqlite3.h" #endif -#include -#include -#include - #ifndef SQLITE_AMALGAMATION #include "sqlite3rtree.h" typedef sqlite3_int64 i64; typedef sqlite3_uint64 u64; typedef unsigned char u8; typedef unsigned short u16; typedef unsigned int u32; +#if !defined(NDEBUG) && !defined(SQLITE_DEBUG) +# define NDEBUG 1 +#endif +#if defined(NDEBUG) && defined(SQLITE_DEBUG) +# undef NDEBUG +#endif #endif + +#include +#include +#include /* The following macro is used to suppress compiler warnings. */ #ifndef UNUSED_PARAMETER # define UNUSED_PARAMETER(x) (void)(x) Index: src/vdbemem.c ================================================================== --- src/vdbemem.c +++ src/vdbemem.c @@ -701,11 +701,11 @@ */ int sqlite3RealSameAsInt(double r1, sqlite3_int64 i){ double r2 = (double)i; return r1==0.0 || (memcmp(&r1, &r2, sizeof(r1))==0 - && i >= -2251799813685248 && i < 2251799813685248); + && i >= -2251799813685248LL && i < 2251799813685248LL); } /* ** Convert pMem so that it has type MEM_Real or MEM_Int. ** Invalidate any prior representations. Index: test/windowfault.test ================================================================== --- test/windowfault.test +++ test/windowfault.test @@ -207,19 +207,20 @@ set ret [expr $::tmp_read_fail<=0] unset -nocomplain ::tmp_read_fail return $ret } +set L [db eval {SELECT 0.0 FROM t}] do_faultsim_test 9 -end 25 -faults tmpread -body { execsql { SELECT sum(y) OVER win FROM t WINDOW win AS ( ORDER BY x ROWS BETWEEN UNBOUNDED PRECEDING AND 1800 FOLLOWING ) } } -test { - faultsim_test_result {0 {}} + faultsim_test_result [list 0 $::L] } catch {db close} tvfs delete