Probably the tests just need to be adjusted for updated output of EXPLAIN (1.1.3.102 and 1.1.3.104). No idea about the other failures. --- sqlite-src-3330000$ cat bug.sh make distclean ./configure CFLAGS="-DSQLITE_ENABLE_STAT4" make testfixture cd test ../testfixture permutations.test prepare analyze3.test sqlite-src-3330000$ ./bug.sh ... prepare.analyze3-1.1.3.102... ! prepare.analyze3-1.1.3.102 expected: [/*SCAN TABLE t1*/] ! prepare.analyze3-1.1.3.102 got: [4 0 0 {SEARCH TABLE t1 USING INDEX i1 (x>? AND x<?)}] ... prepare.analyze3-1.1.3.104... ! prepare.analyze3-1.1.3.104 expected: [/*SCAN TABLE t1*/] ! prepare.analyze3-1.1.3.104 got: [4 0 0 {SEARCH TABLE t1 USING INDEX i1 (x>? AND x<?)}] ... prepare.analyze3-1.1.8... ! prepare.analyze3-1.1.8 expected: [999 999 499500] ! prepare.analyze3-1.1.8 got: [2000 0 499500] prepare.analyze3-1.1.9... ! prepare.analyze3-1.1.9 expected: [999 999 499500] ! prepare.analyze3-1.1.9 got: [2000 0 499500] ... prepare.analyze3-1.2.8... ! prepare.analyze3-1.2.8 expected: [999 999 text text 490555] ! prepare.analyze3-1.2.8 got: [1981 0 text text 490555] prepare.analyze3-1.2.9... ! prepare.analyze3-1.2.9 expected: [999 999 integer integer 490555] ! prepare.analyze3-1.2.9 got: [1981 0 integer integer 490555] ... prepare.analyze3-1.3.8... ! prepare.analyze3-1.3.8 expected: [999 999 499500] ! prepare.analyze3-1.3.8 got: [2000 0 499500] prepare.analyze3-1.3.9... ! prepare.analyze3-1.3.9 expected: [999 999 499500] ! prepare.analyze3-1.3.9 got: [2000 0 499500] ... prepare.analyze3-2.6... ! prepare.analyze3-2.6 expected: [102 0 100] ! prepare.analyze3-2.6 got: [999 999 100] ... prepare.analyze3-2.8... ! prepare.analyze3-2.8 expected: [102 0 0] ! prepare.analyze3-2.8 got: [999 999 0] prepare.analyze3-2.9... ! prepare.analyze3-2.9 expected: [12 0 0] ! prepare.analyze3-2.9 got: [999 999 0] prepare.analyze3-2.10... ! prepare.analyze3-2.10 expected: [3 0 1] ! prepare.analyze3-2.10 got: [999 999 1] prepare.analyze3-2.11... ! prepare.analyze3-2.11 expected: [102 0 10] ! prepare.analyze3-2.11 got: [999 999 10] ... SQLite 2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f 13 errors out of 107 tests on e5-1650 Linux 64-bit little-endian !Failures on these tests: prepare.analyze3-1.1.3.102 prepare.analyze3-1.1.3.104 prepare.analyze3-1.1.8 prepare.analyze3-1.1.9 prepare.analyze3-1.2.8 prepare.analyze3-1.2.9 prepare.analyze3-1.3.8 prepare.analyze3-1.3.9 prepare.analyze3-2.6 prepare.analyze3-2.8 prepare.analyze3-2.9 prepare.analyze3-2.10 prepare.analyze3-2.11 All memory allocations freed - no leaks Memory used: now 0 max 282208 max-size 65544 Allocation count: now 0 max 319 Page-cache used: now 0 max 0 max-size 1288 Page-cache overflow: now 0 max 82952 Maximum memory usage: 282208 bytes Current memory usage: 0 bytes Number of malloc() : -1 calls sqlite-src-3330000$