SQLite Forum

SQLITE_ENABLE_STAT4 triggers failures in analyze3.test
Login
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$