SQLite 3.8.7 Status Board

History    Checklist    Baseline

 
1.   Compiler warning checks. drh ok  *
 
a.   Linux GCC -Wall -Wextra (the tool/warnings.sh script)
Tallis with gcc 4.6.3. False positives using gcc 4.8.1 with -O3.
drh ok  *
b.   Mac GCC -Wall -Wextra (the tool/warnings.sh script) drh ok  *
c.   OpenBSD GCC using options -Wall drh ok  *
d.   Windows MSVC Win32 /W3 drh ok  *
e.   Windows MSVC Win64 /W3 drh ok  *
f.   sh tool/warnings-clang.sh
One false positive with FTS4 and RTREE. Three false positives with THREADSAFE=0 and STAT3.
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 drh ok+  *
 
5.   Tests for platform Linux x86_64: drh ok  *
 
a.   tclsh th3make cov.rc (verify 100% branch test coverage)
0 errors out of 1374696 tests in 193.884 seconds, 100% coverage, bella, check-in 06c576c152c4
drh ok+  *
b.   tclsh th3make cov.rc -DHAVE_MALLOC_H -DHAVE_MALLOC_USABLE_SIZE (verify 100% branch test coverage)
0 errors out of 1372162 tests in 190.684 seconds, 100% coverage, bella
drh ok  *
c.   tclsh th3make cov.rc -DSQLITE_ENABLE_STAT4 (verify 100% branch test coverage)
0 errors out of 1451688 tests in 242.083 seconds, 100% coverage, bella
drh ok  *
d.   tclsh releasetest.tcl
0 errors out of 8153370 tests. Tallis
drh ok  *
e.   tclsh fulltest.tcl fast.rc test.rc
0 errors out of 78022558 tests in 15624.389 seconds, tallis
drh ok  *
f.   tclsh th3make memdebug.rc drh ok  *
g.   tclsh th3make test-ex.rc
0 errors out of 18055643 tests in 24874.336 seconds
dan ok  *
h.   tclsh th3make test.rc CC=clang
0 errors out of 7591137 tests in 2002.592 seconds
dan ok  *
i.   tclsh th3make fast.rc CC=clang
0 errors out of 7387233 tests in 911.984 seconds
dan ok  *
j.   ./mptester x.db mptest/crash01.test
Summary: 0 errors in 94 tests
dan ok  *
k.   ./mptester x.db mptest/multiwrite01.test
Summary: 0 errors in 76 tests
dan ok  *
 
6.   Tests for 32-bit x86 Linux dan ok  *
 
a.   tclsh th3make test.rc -m32
0 errors out of 7590987 tests in 4876.275 seconds
dan ok  *
b.   tclsh th3make test.rc CC=clang -m32
0 errors out of 7591402 tests in 5337.240 seconds
dan ok  *
c.   tclsh th3make quick.rc -m32
0 errors out of 1455462 tests in 690.924 seconds
dan ok  *
 
7.   Tests for platform Linux ARM (BeagleBoard) dan ok  *
 
a.   tclsh th3make min.rc
0 errors out of 1378717 tests in 2727.437 seconds
dan ok  *
b.   Recompile and test Fossil
fossil appears to work with "2014-10-15 15:28:27 3c1e70f4d55bc009ed9ed4cf6d756d7061985851"
dan ok  *
 
8.   Tests for platform Mac OS-X x86: drh ok  *
 
a.   tclsh releasetest.tcl dan ok  *
b.   tclsh fulltest.tcl fast.rc test.rc
0 errors out of 61231670 tests in 37405.096 seconds
drh ok  *
c.   tclsh th3make fast.rc CC=clang
0 errors out of 5797339 tests in 1834.063 seconds
dan ok  *
d.   ./mptester x.db mptest/crash01.test
Summary: 0 errors in 94 tests
dan ok  *
e.   ./mptester x.db mptest/multiwrite01.test
Summary: 0 errors in 76 tests
dan ok  *
 
9.   Tests for platform MacOS 10.2 PPC: drh ok  *
 
a.   tclsh th3make quick.rc
0 errors out of 1377829 tests in 3821.404 seconds
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 1165120 tests, win7, msvc
drh ok  *
b.   th3make test.rc
0 errors out of 5970784 tests in 2158.388 seconds. win8. mingw
drh ok  *
c.   th3make fast.rc
0 errors out of 5753040 test in 2109.104 seconds, win8, msvc32
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
fulltestonly, Win 8.0, 2 errors out of 1167026 tests, failed: uri-1.12.2 uri-1.12.4 (Tcl issue). Repeat by drh on win8 with older TCL shows 0 errors out of 1167013 tests.
drh ok+  *
g.   At least one of the above on WinRT (x86)
06c576c152c4013080c255cbbeb45bf2e298be9f, 32-bit little-endian, 0 errors out of 1387748 tests in 624.144 seconds
mistachkin ok  *
h.   At least one of the above on WinRT (ARM)
06c576c152c4013080c255cbbeb45bf2e298be9f, 32-bit little-endian, 0 errors out of 1387745 tests in 3995.485 seconds
mistachkin ok  *
i.   At least one of the above on Windows Phone 8.0
06c576c152c4013080c255cbbeb45bf2e298be9f, 32-bit little-endian, 0 errors out of 1386795 tests in 854.907 seconds
mistachkin ok  *
j.   At least one of the above on Windows Phone 8.1
06c576c152c4013080c255cbbeb45bf2e298be9f, 32-bit little-endian, 0 errors out of 1386798 tests in 2718.415 seconds
mistachkin ok  *
k.   At least one of the above on Windows Embedded Compact 2013
06c576c152c4013080c255cbbeb45bf2e298be9f, 32-bit little-endian, errors out of 1387492 tests in 2987.022 seconds
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
0 errors out of 5767922 tests in 3101.610 seconds
drh ok  *
n.   mptester x.db mptest/crash01.test
0 errors out of 94 tests. win8. msvc.
drh ok  *
o.   mptester x.db mptest/multiwrite01.test
0 errors outof 76 tests, win8, msvc
drh ok  *
p.   nmake /f makefile.msc DEBUG=2 test
0 errors out of 163781 tests, win7, msvc
drh ok  *
 
11.   Tests for platform Android: dan ok  *
 
a.   th3make quick.rc
0 errors out of 1455447 tests in 2041.393 seconds
dan ok+  *
 
12.   Tests for platform OpenBSD x86: dan ok  *
 
a.   make test
0 errors out of 201838 tests
dan ok  *
b.   th3make quick.rc
0 errors out of 1455763 tests in 1090.580 seconds
dan ok  *
 
13.   Tests for platform Solaris Sparc: drh ok  *
 
a.   make test
0 errors out of 137158 tests, 22m24.345s
drh ok  *
b.   th3make test.rc
0 errors out of 7591468 tests in 16312.854 seconds
drh ok  *
c.   th3make fast.rc
0 errors out of 7393181 tests in 6845.874 seconds
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 5443742 tests in 1314.345 seconds
drh ok  *
b.   th3make test.rc -DHAVE_LOCALTIME_R
0 errors out of 7590675 tests in 1626.502 seconds, bella
drh ok  *
c.   th3make test.rc -DSQLITE_THREADSAFE=0
0 errors out of 7534210 tests in 1218.416 seconds
drh ok  *
d.   th3make test.rc -ftrapv
0 errors out of 7590604 tests in 1679.212 seconds, bella
drh ok  *
e.   OPTS=-DSQLITE_SMALL_STACK make sqlite3.c; th3make test.rc -DSQLITE_SMALL_STACK
0 errors out of 7603820 tests in 1825.926 seconds
dan ok  *
f.   th3make test.rc CC=clang -fsanitize=undefined
0 errors out of 7591284 tests in 7211.439 seconds
dan ok  *
g.   th3make test.rc -DSQLITE_MAX_ATTACHED=125
0 errors out of 7590670 tests in 1548.881 seconds, bella
drh ok  *
h.   th3make quick.rc -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3
0 errors out of 1450864 tests in 6904.678 seconds, no valgrind errors or warnings, bella.
drh ok  *
i.   th3make quick.rc -DTH3_LOWMEM -DTH3_OMIT_MISUSE -DSQLITE_ENABLE_STAT4; valgrind ./th3
0 errors out of 1533745 tests in 7862.394 seconds, no valgrind errors or warnings, bella
drh ok  *
j.   th3make quick.rc -DTH3_LOWMEM -DTH3_OMIT_MISUSE -DHAVE_MALLOC_H -DHAVE_MALLOC_USABLE_SIZE; valgrind ./th3 dan ok  *
k.   valgrind testfixture permutations.test valgrind
0 errors out of 161926 tests, total heap usage: 103,689,200 allocs, 103,685,528 frees, 1,010,679,489,803 bytes allocated
dan ok  *
l.   th3make quick.rc -DSQLITE_TRACE_SIZE_LIMIT=15
0 errors out of 1450965 tests in 169.423 seconds, bella
drh ok  *
m.   th3make quick.rc -funsigned-char
0 errors out of 1450931 tests in 165.288 seconds, bella
drh ok  *
n.   th3make quick.rc -fsigned-char
0 errors out of 1450945 tests in 166.505 seconds
drh ok  *
o.   th3make quick.rc -DSQLITE_ENABLE_MEMSYS5 -DTH3_LOWMEM
0 errors out of 1381875 tests in 147.482 seconds, bella
drh ok  *
p.   th3make quick.rc -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_FTS4
0 errors out of 1481685 tests in 180.031 seconds
drh ok  *
q.   th3make quick.rc -DSQLITE_TEST_REALLOC_STRESS
0 errors out of 1774921 tests in 212.505 seconds, bella
drh ok  *
r.   th3make test.rc ../th3private/*.test
0 errors out of 586 tests in 7.888 seconds, bella
drh ok  *
s.   ./configure; make fulltest
0 errors out of 2537845 tests, 60m17.057s, tallis
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 17819637 tests, bella.
drh ok  *
d.   run-all.bat with no errors
0 errors out of 17819637 tests, win7, mingw
drh ok  *
 
16.   Build using the configure/make in main source tree. dan 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. drh 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
0 errors out of 7544494 tests in 4890.725 seconds, tallis, memdebug.rc
drh ok  *
b.   see-aes128-ofb.c
0 errors out of 1431440 tests in 670.839 seconds. iMac. quick.rc.
drh ok  *
c.   see-aes256-ofb.c
0 errors out of 7542752 tests in 2299.223 seconds, test.rc, bella
drh ok  *
d.   see-rc4.c
0 errors out of 1451812 tests in 516.651 seconds. win8, msvc64. quick.rc.
drh ok  *
e.   see-aes128-ccm.c
0 errors out of 1435379 tests in 217.428 seconds, quick.rc, bella
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.)
0 errors out of 49091 tests
dan ok  *
b.   th3make zipvfs.rc test.rc
0 errors out of 7964701 tests in 2082.746 seconds
dan ok+  *
c.   th3make zipvfs.rc memdebug.rc dan ok  *
d.   th3make zipvfs.rc quick.rc -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3 dan ok  *
e.   th3make zipvfs.rc quick.rc
0 errors out of 1932324 tests in 9966.050 seconds, iMac
drh ok  *
f.   At least one of the above on Linux drh ok  *
g.   At least one of the above on Mac drh ok  *
h.   At least one of the above on Windows
quick.rc. 0 errors out of 1959197 tests in 1254.670 seconds. win7. mingw.
drh ok  *
 
23.   NX-Devkit compiles and runs "tclsh th3make test.rc nx_compress.o" without error.
0 errors out of 6637882 tests in 1451.276 seconds, tallis
drh ok  *
 
24.   Amalgamation autoconf tarball. dan ok  *
 
a.   Builds
[make dist] works
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
3.8.6: 5.912s vs trunk: 5.422s. 9% faster
drh ok  *
b.   The TH3 speed tests
3.8.1: 16.634 vs 3.8.6: 14.979 vs trunk: 14.576. 3% and 14% faster. iMac x86.
drh ok  *
c.   The speedtest1 program
3.8.6: 10.733s vs trunk: 9.813s. 9.4% faster. win8, msvc64.
drh ok  *
d.   ./speedtest1 --nosync --size 25 --trace 2>x.txt
time ./sqlite3 x.db <x.txt >/dev/null
3.8.1: 1.314s vs 3.8.6: 1.174s vs trunk: 1.050s. 12% and 25% faster. Bella.
drh ok  *
e.   ./perf01.sh test
Since previous releases included an automatic index ineffiency, they are orders of magnitude slower on this test. We will get meaningful performance comparisons on this test item beginning with the next release.
drh ok  *
f.   One or more of the above on linux drh ok  *
g.   One or more of the above on windows drh ok  *
h.   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 drh ok  *
b.   bash run-wordcount.sh 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.6: 445264 vs trunk: 449807. 1% larger.
drh ok  *
b.   Versus the trunk from 12 months ago
3.8.1: 428689 vs. 449807. 5% larger.
drh ok  *
 
29.   Verify that the amalgamation builds are byte-for-byte identical on all workstation platforms. drh ok  *
 
a.   linux
9471df8ecf39e3a59deb5ff369f819add6cc7a75 sqlite3.c b407a9e3587b868d8e075e17ca6fbc84d1975638 sqlite3.h
drh ok+  *
b.   mac
9471df8ecf39e3a59deb5ff369f819add6cc7a75 sqlite3.c b407a9e3587b868d8e075e17ca6fbc84d1975638 sqlite3.h
drh ok+  *
c.   openbsd
SHA1 (sqlite3.c) = 9471df8ecf39e3a59deb5ff369f819add6cc7a75 SHA1 (sqlite3.h) = b407a9e3587b868d8e075e17ca6fbc84d1975638
dan ok  *
d.   windows native mingw
9471df8ecf39e3a59deb5ff369f819add6cc7a75 sqlite3.c b407a9e3587b868d8e075e17ca6fbc84d1975638 sqlite3.h
drh ok+  *
e.   windows nmake
9471df8ecf39e3a59deb5ff369f819add6cc7a75 sqlite3.c b407a9e3587b868d8e075e17ca6fbc84d1975638 sqlite3.h
drh ok  *
f.   sparc solaris using autoconf
9471df8ecf39e3a59deb5ff369f819add6cc7a75 sqlite3.c b407a9e3587b868d8e075e17ca6fbc84d1975638 sqlite3.h
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.3. 0 errors out of 269 tests.
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 drh 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 5968853 tests in 4591.145 seconds. win7. mingw.
drh ok  *
b.   tclsh th3make session.rc test.rc (on unix)
0 errors out of 7572012 tests in 1825.497 seconds
dan ok  *
c.   tclsh th3make session.rc cov.rc
0 errors out of 1374379 tests in 236.286 seconds
dan ok  *
d.   tclsh th3make session.rc min.rc -norun -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3 dan ok  *
e.   make test (on windows) drh ok  *
f.   make test (on unix)
0 errors out of 204739 tests
dan ok  *
g.   testfixture test/session.test
0 errors out of 47995 tests
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
1418c006e377d7915a50577d4ccb21125b750bae, 0 errors/377 tests (Debug NetFx40-x86/NetFx45-x64), 0 errors/366 tests (Release NetFx40-x86/NetFx45-x64), 0 errors/23 tests (Debug NetCF20-ARM/NetCF35-ARM), 0 errors/23 tests (Release NetCF20-ARM/NetCF35-ARM)
mistachkin ok  *