SQLite 3.8.5 Status Board

History    Checklist    Baseline

 
1.   Compiler warning checks. drh ok  *
 
a.   Linux GCC -Wall -Wextra (the tool/warnings.sh script)
Various false positives of "array subscript above array bounds" with gcc 4.8.1 on "bella"
drh ok  *
b.   Mac GCC -Wall -Wextra (the tool/warnings.sh script) drh ok  *
c.   OpenBSD GCC using options -Wall dan ok  *
d.   Windows MSVC Win32 /W3 mistachkin ok  *
e.   Windows MSVC Win64 /W3 mistachkin ok  *
f.   sh tool/warnings-clang.sh
clang-3.0: One obvious false-positive on sqlite3.c:73866 - the usual clang bug saying that the RHS of a += is always 0 when clearly it is not.
drh ok  *
 
2.   Documentation checks: drh ok  *
 
a.   Latest release on the index.html page drh ok  *
b.   Release announcement in changes.in drh ok  *
c.   Release accouncement in news.html drh ok  *
d.   No unresolved hyperlinks in the documentation build drh ok  *
e.   Requirements marks are up-to-date in both documentation and source code drh ok  *
f.   The compile-time options are all up-to-date (compile.html) drh ok  *
g.   Database footprint is up-to-date (features.html) drh ok  *
h.   Test metrics are up-to-date (testing.html) drh ok  *
i.   Check new/changed documentation for spelling and gramatical mistakes drh ok  *
 
3.   Source code change review. "fossil diff --from release --to trunk" drh ok  *
 
a.   No stray changes drh ok  *
b.   All significant changes are mentioned in the "changes" log of the documentation drh ok  *
c.   New code complies with style guidelines drh ok  *
d.   New code complies with design rules drh ok  *
e.   Comments have been updated to reflect code changes drh ok  *
f.   Variables and functions have been renamed to reflect changes in their use drh ok  *
g.   Check all calls to sqlite3OsRead() and sqlite3OsWrite() to ensure that offset computations are 64-bit clean. drh ok  *
h.   Check all calls to memory allocation routines to ensure that size computations are 64-bit clean. Suggested regular expression for search: /(Re|M)alloc[FORZa-z]*\(/ drh ok  *
i.   Verify that source code contains no tabs and that surplus whitespace has been removed. drh ok  *
j.   Verify that the list of APIs exposed via the extension header is up-to-date (sqlite3ext.h) drh ok  *
 
4.   OMIT, ENABLE, and DISABLE options: drh ok  *
 
a.   tclsh ../tool/omittest.tcl -skip_run -target libsqlite3.a
ENABLE_LOCKING_STYLE does not work on linux. All else is OK.
drh ok  *
 
5.   Tests for platform Linux x86: dan ok  *
 
a.   tclsh releasetest.tcl dan ok  *
b.   tclsh th3make cov.rc (verify 100% branch test coverage) dan ok+  *
c.   tclsh fulltest.tcl fast.rc test.rc dan ok  *
d.   tclsh th3make fast-ex.rc dan ok  *
 
6.   Tests for platform Linux x86_64: dan ok  *
 
a.   tclsh th3make cov.rc (verify 100% branch test coverage)
0 errors out of 1383839 tests. 100% MC/DC. On "bella"
drh ok  *
b.   tclsh th3make cov.rc -DHAVE_MALLOC_H -DHAVE_MALLOC_USABLE_SIZE (verify 100% branch test coverage)
0 errors out of 1381493 tests. 100% coverage. On "bella"
drh ok  *
c.   tclsh th3make cov.rc -DSQLITE_ENABLE_STAT4 (verify 100% branch test coverage)
0 errors out of 1462635 tests on "bella"
drh ok  *
d.   tclsh releasetest.tcl dan ok  *
e.   tclsh fulltest.tcl fast.rc test.rc
0 errors out of 77,651,649 tests on "tallis"
drh ok+  *
f.   tclsh th3make memdebug.rc
0 errors out of 7539549 tests in 33 configurations, on "bella"
drh ok  *
g.   tclsh th3make test-ex.rc
0 errors out of 18076632 tests on "bella"
drh ok  *
h.   tclsh th3make test.rc CC=clang
0 errors out of 7539315 tests on "bella"
drh ok  *
i.   tclsh th3make fast.rc CC=clang
0 errors out of 7283386 tests on "bella"
drh ok  *
j.   ./mptester x.db mptest/crash01.test
0 errors out of 94 tests, on "bella"
drh ok  *
k.   ./mptester x.db mptest/multiwrite01.test
0 errors out of 76 tests, on "bella"
drh ok  *
 
7.   Tests for platform Linux ARM (BeagleBoard) drh ok  *
 
a.   tclsh th3make min.rc
0 errors out of 1387512 tests
drh ok  *
b.   Recompile and test Fossil drh ok  *
 
8.   Tests for platform Mac OS-X x86: dan ok  *
 
a.   tclsh releasetest.tcl dan ok  *
b.   tclsh fulltest.tcl fast.rc test.rc
0 errors out of 60,844,450 tests on iMac 10.6.8
drh ok  *
c.   tclsh th3make fast.rc CC=clang dan ok  *
d.   ./mptester x.db mptest/crash01.test
0 errors out of 94 tests. osx 10.6.8
drh ok  *
e.   ./mptester x.db mptest/multiwrite01.test
0 errors out of 76 tests. osx 10.6.8
drh ok  *
 
9.   Tests for platform MacOS 10.2 PPC: drh ok  *
 
a.   tclsh th3make quick.rc
ctime03 errors due to difference in configuration from the th3.c build and the build on platform. Otherwise, all is well.
drh ok  *
b.   Recompile and test Fossil drh ok  *
c.   Verify that Fossil repositories are cross-platform with x86/x64. drh ok  *
 
10.   Tests for platform Win32/64: mistachkin ok  *
 
a.   make fulltestonly
0 errors out of 1125935 tests using MSVC x64 on Win8
drh ok  *
b.   th3make test.rc
0 errors out of 5,749,095 tests on Win7 32-bit MSVC
mistachkin ok+  *
c.   th3make fast.rc
0 errors out of 5,746,770 tests on win7 with mingw
drh ok  *
d.   At least one of the above using MinGW drh ok  *
e.   At least one of the above using MSVC-32 mistachkin ok  *
f.   At least one of the above using MSVC-64 drh ok  *
g.   At least one of the above on WinRT (x86)
0 errors out of 1393871 tests with MSVC 2012
mistachkin ok  *
h.   At least one of the above on WinRT (ARM)
0 errors out of 1393866 tests with MSVC 2012
mistachkin ok  *
i.   At least one of the above on Windows Phone 8.0
0 errors out of 1392924 tests with MSVC 2012
mistachkin ok  *
j.   At least one of the above on Windows Phone 8.1
0 errors out of 1392924 tests with MSVC 2013
mistachkin ok  *
k.   At least one of the above on Windows Embedded Compact 2013
0 errors out of 1393711 tests with MSVC 2012
mistachkin ok  *
l.   Verify that EXEs and DLLs generated using MSVC contain the correct version number, product name, description, and copyright as resources. mistachkin ok  *
m.   th3make msvc.rc test.rc /RTC1
win8, msvc64, 0 errors out of 5758036 tests
drh ok  *
n.   mptester x.db mptest/crash01.test
0 errors out of 94 tests, on win8
drh ok  *
o.   mptester x.db mptest/multiwrite01.test
0 errors out of 76 tests, on win8
drh ok  *
 
11.   Tests for platform Android: dan ok  *
 
a.   th3make quick.rc
The same SQLITE_DEBUG related ctime03.test errors as 9a. These are not important.
dan ok  *
 
12.   Tests for platform OpenBSD x86: dan ok  *
 
a.   make test dan ok  *
b.   th3make quick.rc dan ok  *
 
13.   Tests for platform Solaris Sparc: drh ok  *
 
a.   make test
0 errors out of 136846 tests
drh ok  *
b.   th3make test.rc
0 errors out of 7543971 tests
drh ok  *
c.   th3make fast.rc
0 errors out of 7289589 tests
drh ok  *
d.   Recompile and test Fossil drh ok  *
e.   Verify that Fossil repositories are cross-platform with x86/x64
Copy down sqlar.fossil and run "fossil test-integrity sqlar.fossil"
drh ok  *
 
14.   Other test performed on any available platform: drh ok  *
 
a.   th3make alignment2.rc test.rc
0 errors out of 5524553 tests, on "bella"
drh ok  *
b.   th3make test.rc -DHAVE_LOCALTIME_R
0 errors out of 7539272 tests on "tallis"
drh ok  *
c.   th3make test.rc -DSQLITE_THREADSAFE=0
0 errors out of 7543891 tests, on "tallis"
drh ok  *
d.   th3make test.rc -ftrapv
0 errors out of 7539269 tests, on "tallis"
drh ok  *
e.   OPTS=-DSQLITE_SMALL_STACK make sqlite3.c; th3make test.rc -DSQLITE_SMALL_STACK
0 errors out of 7552294 tests, on "bella"
drh ok  *
f.   th3make test.rc CC=clang -fsanitize=undefined
0 errors out of 7539318 tests on "bella", clang 3.4-1ubuntu1
drh ok  *
g.   th3make test.rc -DSQLITE_MAX_ATTACHED=62
0 errors out of 7539271 tests on "tallis"
drh ok  *
h.   th3make quick.rc -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3
0 errors out of 1482212 tests, no valgrind errors. On "bella" with valgrind-3.7.0.
drh ok  *
i.   th3make quick.rc -DTH3_LOWMEM -DTH3_OMIT_MISUSE -DSQLITE_ENABLE_STAT4; valgrind ./th3
0 errors out of 1567840 tests with no valgrind warnings on linux x64 "bella"
drh ok  *
j.   valgrind testfixture permutations.test valgrind
0 errors out of 96387 test, 3425 memory blocks leaked in TCL probably due to leaks in test logic. No SQLite leaks. No other valgrind errors. Deemed pass.
drh ok  *
k.   th3make cov.rc -DSQLITE_TRACE_SIZE_LIMIT=15 (verify coverage)
0 errors out of 1383853 tests, 100% coverage, on "bella"
drh ok  *
l.   th3make quick.rc -DSQLITE_TRACE_SIZE_LIMIT=15
0 errors out of 1482355 tests on "bella"
drh ok  *
m.   th3make quick.rc -funsigned-char
0 errors out of 1482318 tests, on "bella"
drh ok  *
n.   th3make quick.rc -fsigned-char
0 errors out of 1482316 tests, on "bella"
drh ok  *
o.   th3make quick.rc -DSQLITE_ENABLE_MEMSYS5
0 errors out of 1401345 tests, win7, mingw
drh ok  *
p.   th3make quick.rc -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_FTS4
win7, msvc32, ctime03.1.15 errors due to expecting ENABLE_FTS3 instead of ENABLE_FTS4. Deemed ok.
drh ok  *
 
15.   Sqllogictest: drh ok  *
 
a.   Checked in latest SQLite amalgamation drh ok  *
b.   No compiler warnings drh ok  *
c.   run-all.sh with no errors
0 errors out of 17,819,637 tests, on "bella"
drh ok  *
d.   run-all.bat with no errors
0 errors out of 17,819,637 tests, win7, mingw
drh ok  *
 
16.   Build using the configure/make in main source tree. drh ok  *
 
a.   Make sure that autoconf has been run to update the configure script. drh ok  *
b.   Run "make test" to verify that the build works. drh ok  *
c.   Verify the correct version numbers have been installed. drh ok  *
d.   Verify that the --disable-amalgamation option to configure works. drh ok  *
e.   Works on Linux drh ok  *
f.   Works on Mac drh ok  *
g.   Works on OpenBSD drh ok  *
h.   Works on Solaris drh ok  *
 
17.   Exported symbol checks: tool/symbols.sh drh ok  *
 
a.   No private symbols exported. (This is also checked by releasetest.tcl)
On bella with gcc 4.8.1
drh ok  *
b.   No undesirable library dependencies
On bella with gcc 4.8.1
drh ok  *
c.   No private symbols exported in MinGW (check using tool/symbols-mingw.sh)
On win8, gcc 4.7.0
drh ok  *
d.   No undesirable library dependencies on MinGW
On win8, gcc 4.7.0
drh ok  *
 
18.   Fossil updated to use the latest SQLite. drh ok  *
 
a.   No compiler warnings drh ok  *
b.   Used on active websites with no issues drh ok  *
 
19.   Firefox recompiled using lastest SQLite. drh ok  *
 
a.   No SQLite compiler warnings drh ok  *
b.   Active use with no issues noted drh ok  *
 
20.   CEROD tests in the test/ subdirectory.
On "bella"
drh ok+  *
 
21.   SEE tests using TH3: drh ok  *
 
a.   see.c
0 errors out of 5725379 tests on win7 msvc32
drh ok  *
b.   see-aes128-ofb.c
0 errors out of 1460468 tests, on MacAir 10.7.2, quick.rc
drh ok  *
c.   see-aes256-ofb.c
0 errors out of 7509394 tests, on linux "bella" with memdebug.rc
drh ok  *
d.   see-rc4.c
0 errors out of 7509279 tests, linux "bella" with test.rc
drh ok  *
e.   see-aes128-ccm.c
0 errors out of 1460914 tests, imac 10.6.8 using quick.rc
drh ok  *
f.   At least one of the above using test.rc drh ok  *
g.   At least one of the above using memdebug.rc drh ok  *
h.   At least one of the above on Linux drh ok  *
i.   At least one of the above on Mac drh ok  *
j.   At least one of the above on Windows drh ok  *
 
22.   ZIPVFS tests: --- ---
 
a.   testfixture ../zipvfs/test/zipvfs.test (See test/README.txt in the ZIPVFS source tree for details.) dan ok  *
b.   th3make zipvfs.rc test.rc
0 errors out of 5725379 tests on win7 msvc32
drh ok  *
c.   th3make zipvfs.rc memdebug.rc
0 errors out of 7939653 tests on linux "bella" x64
drh ok  *
d.   th3make zipvfs.rc quick.rc -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3 dan ok  *
e.   th3make quick.rc dan ok  *
f.   At least one of the above on Linux drh ok  *
g.   At least one of the above on Mac dan ok  *
h.   At least one of the above on Windows drh ok  *
 
23.   NX-Devkit compiles and runs "tclsh th3make test.rc nx_compress.o" without error.
0 errors out of 6598540 tests, on linux "bella"
drh ok  *
 
24.   Amalgamation autoconf tarball. dan ok  *
 
a.   Builds dan ok  *
b.   Works on Linux dan ok  *
c.   Works on Mac dan ok  *
 
25.   TEA archive builds correctly and runs: dan ok  *
 
a.   Linux dan ok  *
b.   Mac dan ok  *
 
26.   Run performance tests comparing the new SQLite release against the previous release and a release from one year ago. Document and justify any performance decrease. drh ok  *
 
a.   The TCL speed*.test scripts
speed1p.test runs in 6.67s, against 6.79s for 3.8.4.
dan ok  *
b.   The TH3 speed tests
Real time 3.339s (3.8.4) vs. 3.293s (3.8.5) on "bella". Cachegrind shows 1.1% fewer I-refs.
drh ok  *
c.   The speedtest1 program
On win8 with MSVCx64: 10.764s for 3.8.5 versus 10.920s for 3.8.4 - approx 1.4% faster
drh ok  *
d.   ./speedtest1 --nosync --size 25 --trace 2>x.txt
time ./sqlite3 x.db <x.txt >/dev/null
On MacAir 10.7.2: 4.371s (3.8.5) versus 4.380s (3.8.4.3)
drh ok  *
e.   One or more of the above on linux drh ok  *
f.   One or more of the above on windows drh ok  *
g.   One or more of the above on mac drh ok  *
 
27.   Run "make wordcount; bash run-wordcount.bash $OPTIONS" with options: drh ok  *
 
a.   bash run-wordcount.sh sqlite3.c
All tests pass. --without-rowid tests are faster, except on --select where it is about the same speed.
drh ok+  *
b.   bash run-wordcount.sh sqlite3.c --cachesize 5 --nosync
All tests pass. --without-rowid tests are always faster.
drh ok  *
 
28.   Compute the size of a standard build (gcc -Os -c sqlite3.c) and and record the size change in the comments drh ok  *
 
a.   Versus the previous release
442823 (3.8.5) versus 439549 (3.8.4.3) on "bella" (x64) with gcc 4.8.1. A 0.74% size increase
drh ok  *
b.   Versus the trunk from 12 months ago
442823 (3.8.5) versus 420297 (trunk:2014-06-02) on "bella" x64 with gcc 4.8.1. A 5.4% increase.
drh ok  *
 
29.   Verify that the amalgamation builds are byte-for-byte identical on all workstation platforms. drh ok  *
 
a.   linux drh ok  *
b.   mac drh ok  *
c.   openbsd drh ok  *
d.   windows native mingw drh ok  *
e.   windows nmake
win8, msvc64
drh ok+  *
f.   sparc solaris using autoconf drh ok  *
 
30.   Verify that databases (including FTS3 and RTREE databases), rollback journals, and WAL files created by the release candidate are readable and writeable by historical versions of SQLite (as long as no unsupported features are used) and vice versa.
tested with backcompat.test against 3.6.4. 3.7.12 and 3.8.0.
dan ok  *
 
31.   Cross-platform tests. Verify the ability of databases, WAL files, and rollback journals to be copied and used between 32-bit and 64-bit systems and between big-endian and little-endian systems. drh ok  *
 
a.   32-big to 64-little, database drh ok  *
b.   32-big to 64-little, WAL drh ok  *
c.   32-big to 64-little, rollback drh ok  *
d.   64-little to 32-big, SEE database drh ok  *
e.   64-little to 32-big, ZIPVFS database drh ok  *
f.   64-little to 32-big, CEROD database drh ok  *
 
32.   Build and verify correct operation of sqlite3_analyzer on: drh ok  *
 
a.   Linux drh ok  *
b.   Mac
MacAir 10.7.5
drh ok  *
c.   Sparc Solaris drh ok  *
d.   Win32 (MinGW) mistachkin ok  *
e.   Win32 (MSVC)
win8, msvc64
drh ok  *
f.   A database containing WITHOUT ROWID tables
sqlite.fossil on the win8 box
drh ok  *
 
33.   Tests for the sessions branch with macros SQLITE_ENABLE_SESSION and SQLITE_ENABLE_PREUPDATE_HOOK drh ok  *
 
a.   tclsh th3make session.rc test.rc (on windows)
0 errors out of 5,938,362 tests on win7, mingw
drh ok  *
b.   tclsh th3make session.rc test.rc (on unix)
0 errors out of 7563582 tests, on "bella"
drh ok  *
c.   tclsh th3make session.rc cov.rc
0 errors out of 1382702 tests
drh ok  *
d.   tclsh th3make session.rc min.rc -norun -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3
0 errors out of 96387 tests, linux x64 "bella"
drh ok  *
e.   make test (on windows)
The usual 2 hook errors and the percentile-2.1.50 floating-point rounding error
drh ok  *
f.   make test (on unix)
2 errors out of 137264 tests: The expected hook-7.5.2.1 and hook-7.5.2.2
drh ok  *
g.   testfixture test/session.test
0 errors out of 24803 tests, win8, msvc64
drh ok  *
 
34.   Verify that the sqlite3-all.c build target works and that the resulting sqlite3-all.c file and its include files (sqlite3-?.c) compile and run the same as the single-file amalgamation. drh ok  *
 
35.   System.Data.SQLite builds and checks out using the SQLite core
netfx40, debug, release, netCF 2.0/3.5 OK
mistachkin ok  *