SQLite 3.8.4 Status Board

History    Checklist    Baseline

 
1.   Compiler warning checks. (Warnings in the Porter stemmer code are allowed.) drh ok  *
 
a.   Linux GCC -Wall -Wextra (the tool/warnings.sh script)
On "bella" with gcc 4.8.1. False positives on -O3 but all clear otherwise.
drh ok  *
b.   Mac GCC -Wall -Wextra (the tool/warnings.sh script)
MacOS 10.6.8 with gcc 4.2.1
drh ok  *
c.   OpenBSD GCC using options -Wall
sqlite3BtreeSetMmapLimit defined but not used.
drh ok  *
d.   Windows MSVC Win32 /W3 drh ok  *
e.   Windows MSVC Win64 /W3 drh ok  *
f.   sh tool/warnings-clang.sh
On "tallis" with clang-3.0. The usual false-positives.
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
R-10288-43169 on e_createtable.test is obsolete. Fix it in the next release.
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
Checked by proof-reading diffs, rather than running "make spell"
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 multiplications, and especially those involving the offset parameters to sqlite3OsRead() and sqlite3OsWrite() or having operands pageSize or szPage to make sure that 32x32-bit multiplicates that intend to yield a 64-bit result do not instead truncate to 32-bits. drh ok  *
h.   Verify that source code contains no tabs and that surplus whitespace has been removed. drh ok  *
i.   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: dan ok  *
 
a.   tclsh ../tool/omittest.tcl -skip_run dan 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)
Rerun after the char() fix.
drh ok+  *
b.   tclsh th3make cov.rc -DHAVE_MALLOC_H -DHAVE_MALLOC_USABLE_SIZE (verify 100% branch test coverage)
After the 2014-03-07 pager change. 0 errors out of 1,368,908 tests with 100% coverage.
drh ok  *
c.   tclsh th3make cov.rc -DSQLITE_ENABLE_STAT4 (verify 100% branch test coverage)
After the 2014-03-07 pager change. 0 errors out of 1,450,278 tests with 100% coverage.
drh ok  *
d.   tclsh releasetest.tcl dan ok  *
e.   tclsh fulltest.tcl fast.rc test.rc drh ok  *
f.   tclsh th3make memdebug.rc dan ok  *
g.   tclsh th3make test-ex.rc
rerun after the 2014-03-07 pager change. 0 errors out of 18,062,526 tests.
drh ok+  *
h.   tclsh th3make test.rc CC=clang dan ok  *
i.   tclsh th3make fast.rc CC=clang dan ok  *
j.   ./mptester x.db mptest/crash01.test dan ok  *
k.   ./mptester x.db mptest/multiwrite01.test dan ok  *
 
7.   Tests for platform Linux ARM (BeagleBoard) drh ok  *
 
a.   tclsh th3make min.rc
0 errors out of 1374677 tests in 19 configurations. Time: 50m19.126s
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 dan ok  *
c.   tclsh th3make fast.rc CC=clang dan ok  *
d.   ./mptester x.db mptest/crash01.test dan ok  *
e.   ./mptester x.db mptest/multiwrite01.test dan ok  *
 
9.   Tests for platform MacOS 10.2 PPC: drh ok  *
 
a.   tclsh th3make -Os min.rc
out of 1370661 test, 24 errors in ctime03 because th3.c was generated on a separate system. Deemed "passed".
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
win7, msvc32, 0 errors out of 1119304 tests, with the pager.c changes.
drh ok  *
b.   th3make test.rc
o errors out of 5,696,984 tests, after the pager.c change, msvc64, win8.
drh ok  *
c.   th3make fast.rc
0 errors out of 5,727,122 tests after the pager.c change on win8 using mingw32
drh ok  *
d.   At least one of the above using MinGW drh ok  *
e.   At least one of the above using MSVC-32 drh ok  *
f.   At least one of the above using MSVC-64
test.rc on win8
drh ok  *
g.   At least one of the above on WinRT (x86) mistachkin ok  *
h.   At least one of the above on WinRT (ARM) mistachkin ok  *
i.   At least one of the above on Windows Phone mistachkin ok  *
j.   At least one of the above on Windows Embedded Compact 2013 mistachkin ok  *
k.   Verify that EXEs and DLLs generated using MSVC contain the correct version number, product name, description, and copyright as resources. mistachkin ok  *
l.   th3make msvc.rc test.rc /RTC1
win8, msvc64, 0 errors out of 5,697,003 tests.
drh ok  *
m.   mptester x.db mptest/crash01.test drh ok  *
n.   mptester x.db mptest/multiwrite01.test drh ok  *
 
11.   Tests for platform Android: dan ok  *
 
a.   th3make -Os min.rc dan ok  *
 
12.   Tests for platform OpenBSD x86: dan ok  *
 
a.   make test dan ok  *
b.   th3make -Os min.rc dan ok  *
 
13.   Tests for platform Solaris Sparc: drh ok  *
 
a.   make test drh ok  *
b.   th3make test.rc drh ok  *
c.   th3make fast.rc drh ok  *
d.   Recompile and test Fossil drh ok  *
e.   Verify that Fossil repositories are cross-platform with x86/x64 drh ok  *
 
14.   Other test performed on any available platform: drh ok  *
 
a.   th3make alignment2.rc test.rc
0 errors out of 5,484,382 tests on "tallis"
drh ok  *
b.   th3make test.rc -DHAVE_LOCALTIME_R dan ok  *
c.   th3make test.rc -DSQLITE_THREADSAFE=0 dan ok  *
d.   th3make test.rc -ftrapv dan ok  *
e.   OPTS=-DSQLITE_SMALL_STACK make sqlite3.c; th3make test.rc -DSQLITE_SMALL_STACK
0 errors out of 7530957 tests, after the pager.c change
drh ok  *
f.   th3make test.rc CC=clang -fsanitize=undefined
0 errors nor clang warnings out of 7518190 tests, clang 3.4
drh ok  *
g.   th3make test.rc -DSQLITE_MAX_ATTACHED=62 dan ok  *
h.   th3make min.rc -Os -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3 dan ok  *
i.   th3make min.rc -Os -DTH3_LOWMEM -DTH3_OMIT_MISUSE -DSQLITE_ENABLE_STAT4; valgrind ./th3 dan ok  *
j.   valgrind testfixture permutations.test valgrind dan ok  *
k.   th3make cov.rc -DSQLITE_TRACE_SIZE_LIMIT=15 (verify coverage)
0 errors out of 1371174 tests after the pager.c change. 100% coverage.
drh ok  *
l.   th3make min.rc -DSQLITE_TRACE_SIZE_LIMIT=15 -O6 dan ok  *
m.   th3make min.rc -O6 -funsigned-char
On "tallis"
drh ok  *
n.   th3make min.rc -O6 -fsigned-char 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
No errors in 17,819,637 tests.
drh ok  *
d.   run-all.bat with no errors
win7
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. dan ok  *
b.   Run "make test" to verify that the build works. dan ok  *
c.   Verify the correct version numbers have been installed. dan ok  *
d.   Verify that the --disable-amalgamation option to configure works. dan ok  *
e.   Works on Linux dan ok  *
f.   Works on Mac dan ok  *
g.   Works on OpenBSD dan 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) drh ok  *
b.   No undesirable library dependencies drh ok  *
c.   No private symbols exported in MinGW (check using tool/symbols-mingw.sh) drh ok  *
d.   No undesirable library dependencies on MinGW 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. drh ok  *
 
21.   SEE tests using TH3: drh ok  *
 
a.   see.c
mac, test.rc, 0 errors out of 5,864,292 tests.
drh ok  *
b.   see-aes128-ofb.c
0 errors out of 1,366,993 tests, win8, msvc64, min.rc, after the pager.c change
drh ok  *
c.   see-aes256-ofb.c
0 errors out of 7488707 tests, linux, memdebug.rc
drh ok  *
d.   see-rc4.c
0 errors out of 1350792 tests, 2m47.866s
drh ok  *
e.   see-aes128-ccm.c
0 errors out of 1350954 tests, linux, 2m46.545s
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: drh ok  *
 
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 dan ok  *
c.   th3make zipvfs.rc memdebug.rc dan ok  *
d.   th3make zipvfs.rc min.rc -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3 dan ok  *
e.   th3make min.rc dan ok  *
f.   At least one of the above on Linux dan ok  *
g.   At least one of the above on Mac dan ok  *
h.   At least one of the above on Windows
0 errors out of 1847740 tests, win7, msvc32
drh ok  *
 
23.   NX-Devkit compiles and runs "tclsh th3make test.rc nx_compress.o" without error.
0 errors out of 6577905 tests
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
win7, msvc32, 3.8.4 at 25436532us, 3.8.3.1 at 26157927us, 3.7.16 at 28498730us.
drh ok  *
b.   The TH3 speed tests
On win8: 3.8.4 at 11.544s, 3.8.3.1 at 11.780s, 3.7.16 at 12.597s.
drh ok  *
c.   The speedtest1 program
valgrind iR counts. 3.8.4: 866,686,226. 3.8.3.1: 990,760,569. 3.7.16: 1,175,991.932
drh ok  *
d.   ./speedtest1 --nosync --size 25 --trace 2>x.txt
time ./sqlite3 x.db <x.txt >/dev/null
Mac. 3.8.4 at 4.870s, 3.8.3.1 at 5.041s, 3.7.16 at 5.712s
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:
with "fast.mk" the --without-rowid tests are generally faster, except for --select where --without-rowid is marginally slower. Most tests are faster than the previous release.
drh ok  *
 
a.   sqlite3.c drh ok  *
b.   sqlite3.c --cachesize 5 --nosync 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
3.8.3.1 is 429271. 3.8.4 is 431298. 2027 bytes larger (0.5%). gcc version 4.8.1
drh ok  *
b.   Versus the trunk from 12 months ago
3.7.16 is 407496. 3.8.4 is 23,802 bytes larger (5.51%)
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
sha1sum of version c0d54b4e is "30755f3e60b47744f78ca80ed768ecc88884160a sqlite3.c"
dan ok  *
d.   windows native mingw drh ok  *
e.   windows nmake 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 and 3.7.1
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: dan ok  *
 
a.   Linux drh ok  *
b.   Mac dan ok  *
c.   Sparc Solaris drh ok  *
d.   Win32 (MinGW) drh ok  *
e.   Win32 (MSVC) drh ok  *
f.   A database containing WITHOUT ROWID tables 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 5787892 tests
drh ok  *
b.   tclsh th3make session.rc test.rc (on unix) drh ok  *
c.   tclsh th3make session.rc cov.rc
branch coverage 95.93% - missed 869 of 21338 branches
drh ok  *
d.   tclsh th3make session.rc min.rc -norun -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3
0 errors out of 1367052 tests in 19 configurations, no valgrind warnings.
drh ok  *
e.   make test (on windows)
win8, msvc64, 2 errors out of 161661 tests on hook-7.5.2.1 and hook-7.5.2.2 - known problems with the test script
drh ok  *
f.   make test (on unix) drh ok  *
g.   testfixture test/session.test dan 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  *