SQLite 3.8.2 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) 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 error claiming that nVmStep is always 0, which is clearly not the case - a bug in clang.
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 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: drh ok  *
 
a.   tclsh ../tool/omittest.tcl -skip_run drh ok  *
 
5.   Tests for platform Linux x86: drh 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: drh ok  *
 
a.   tclsh th3make cov.rc (verify 100% branch test coverage)
0 errors out of 1341862 tests in 19 configurations
drh ok+  *
b.   tclsh th3make cov.rc -DHAVE_MALLOC_H -DHAVE_MALLOC_USABLE_SIZE (verify 100% branch test coverage)
0 errors out of 1339454 tests in 19 configurations
drh ok  *
c.   tclsh th3make cov.rc -DSQLITE_ENABLE_STAT4 (verify 100% branch test coverage)
0 errors out of 1425420 tests in 19 configurations, after changes through eca7d3f1612c7
drh ok+  *
d.   tclsh releasetest.tcl
1 errors out of 2251077 tests - memsubsys1.index5-1.3: the index had more fragmentation than desired. Not a real issue.
drh ok  *
e.   tclsh fulltest.tcl fast.rc test.rc dan ok  *
f.   tclsh th3make memdebug.rc
0 errors out of 7464403 tests in 33 configurations
drh ok  *
g.   tclsh th3make test-ex.rc
0 errors out of 18107810 tests in 17 configurations
drh ok  *
h.   tclsh th3make test.rc CC=clang
0 errors out of 7464074 tests in 33 configurations
drh ok  *
i.   tclsh th3make fast.rc CC=clang dan ok  *
j.   ./mptester x.db mptest/crash01.test
0 errors in 94 tests
drh ok+  *
k.   ./mptester x.db mptest/multiwrite01.test
0 errors in 76 tests
drh ok+  *
 
7.   Tests for platform Linux ARM (BeagleBoard) drh ok  *
 
a.   tclsh th3make min.rc
0 errors out of 1346508 tests in 19 configurations
drh 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 60046442 tests across 28 configurations and 5 alignments.
drh ok  *
c.   tclsh th3make fast.rc CC=clang
0 errors out of 5678694 tests in 27 configurations
drh ok  *
d.   ./mptester x.db mptest/crash01.test
0 errors in 94 tests
drh ok+  *
e.   ./mptester x.db mptest/multiwrite01.test
0 errors in 76 tests
drh ok+  *
 
9.   Tests for platform MacOS 10.2 PPC: drh ok  *
 
a.   tclsh th3make -Os min.rc
24 errors out of 1344234 tests in 19 configurations, it says, but all 24 errors were in ctime03.1.21.[34] and result from the fact that the th3.c source file was prepared on a different machine with different compile-time options. They are not real erros. Deemed pass.
drh ok  *
b.   Recompile and test Fossil
The amalgamation no longer compiles on MacOS 10.2. Appears to be a compiler bug. Substituting the split amalgamation allows the compile to complete and everything appears to work.
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 1141789 tests
drh ok  *
b.   th3make test.rc
0 errors out of 5639375 tests in 27 configurations, MSVC-32
drh ok  *
c.   th3make fast.rc
0 errors out of 5700959 tests in 27 configurations, Win7, mingw
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
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
no mmap on emulator, 0 errors out of 1349727 tests in 19 configurations
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
0 errors out of 5639370 tests in 27 configurations, win8, MSVC-32
drh ok  *
m.   mptester x.db mptest/crash01.test
0 errors in 94 tests using MSVC on Win8 x64
drh ok  *
n.   mptester x.db mptest/multiwrite01.test dan ok+  *
 
11.   Tests for platform Android: drh ok  *
 
a.   th3make -Os min.rc dan ok  *
 
12.   Tests for platform OpenBSD x86: drh ok  *
 
a.   make test
1 errors out of 135721 tests: percentile-2.1.50 gives 2749999.50004681 instead of 2749999.5. Not a real problem.
drh ok+  *
b.   th3make -Os min.rc dan ok  *
 
13.   Tests for platform Solaris Sparc: drh ok  *
 
a.   make test
0 errors out of 135778 tests
drh ok  *
b.   th3make test.rc
0 errors out of 7467345 tests in 33 configurations
drh ok  *
c.   th3make fast.rc
0 errors out of 7217525 tests in 33 configurations. Had to change -O3 to -Os in fast.rc due to bugs the generated code for VFilter that appear when -O3 is used.
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 5443580 tests in 33 configurations
drh ok  *
b.   th3make test.rc -DHAVE_LOCALTIME_R
0 errors out of 7464067 tests in 33 configurations, linux, x64, -O3
drh ok  *
c.   th3make test.rc -DSQLITE_THREADSAFE=0
0 errors out of 5615135 tests in 27 configurations, win8, msvc-32
drh ok  *
d.   th3make test.rc -ftrapv dan ok  *
e.   th3make test.rc CC=clang -fsanitize=undefined
0 errors out of 7464077 tests in 33 configurations
drh ok  *
f.   th3make test.rc -DSQLITE_MAX_ATTACHED=62
0 errors out of 5639375 tests in 27 configurations, MSVC-32
drh ok  *
g.   th3make min.rc -Os -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3
0 errors out of 1341694 tests in 19 configurations, Linux x64
drh ok  *
h.   th3make min.rc -Os -DTH3_LOWMEM -DTH3_OMIT_MISUSE -DSQLITE_ENABLE_STAT4; valgrind ./th3
0 errors out of 1425252 tests in 19 configurations
drh ok  *
i.   valgrind testfixture permutations.test valgrind dan ok  *
j.   th3make cov.rc -DSQLITE_TRACE_SIZE_LIMIT=15 (verify coverage) dan ok  *
k.   th3make min.rc -DSQLITE_TRACE_SIZE_LIMIT=15 -O6 dan ok  *
 
15.   Sqllogictest: drh ok  *
 
a.   Checked in latest SQLite amalgamation drh ok  *
b.   No compiler warnings
None on SQLite code. Unused return value from fread() warning in sqllogictest.c.
drh ok  *
c.   run-all.sh with no errors
0 errors out of 17819637 tests. Linux, x64, -O3 -fstrict-aliasing
drh ok  *
d.   run-all.bat with no errors
0 errors out of 17819637 tests
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.
OpenBSD
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) 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.
x86 MSVC 2008 Win7 32-bit
mistachkin ok  *
 
21.   SEE tests using TH3: drh ok  *
 
a.   see.c
0 errors out of 1334329 tests in 19 configurations, win7, msvc-32, min.rc
drh ok  *
b.   see-aes128-ofb.c
0 errors of 1318429 tests in 19 configurations, MacOS 10.7.5, min.rc, -O3
drh ok  *
c.   see-aes256-ofb.c
0 errors out of 7419992 tests in 33 configurations, linux, test.rc, -O3
drh ok  *
d.   see-rc4.c
0 errors out of 1318496 tests in 19 configurations. MacOS 10.7.5, -O3, min.rc
drh ok  *
e.   see-aes128-ccm.c
0 errors out of 7420643 tests in 33 configurations, linux, -O3, memdebug.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: 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
1 error out of 6049095 tests in 24 configurations: zipvfs1.req1_bind02.130 is a memory amount test which fails due to unimportant platform differences. This is not a real error.
drh ok  *
c.   th3make zipvfs.rc memdebug.rc dan ok  *
d.   th3make zipvfs.rc min.rc -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3
0 errors out of 1790021 tests in 23 configurations, no valgrind warnings or errors.
drh 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 drh ok  *
 
23.   NX-Devkit compiles and runs "tclsh th3make test.rc nx_compress.o" without error.
0 errors out of 6524309 tests in 31 configurations
drh ok  *
 
24.   Amalgamation autoconf tarball. drh ok  *
 
a.   Builds dan ok  *
b.   Works on Linux dan ok  *
c.   Works on Mac dan ok  *
 
25.   TEA archive builds correctly and runs: drh 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
Linux: 3.8.2beta at 9.104s vs. 3.8.1 at 9.411s (3.2% faster) vs. 2012-12-04 at 9.871s (7.8% faster)
drh ok  *
b.   The TH3 speed tests
MacOS 10.7.5: 3.8.1 at 14.194s versus 3.8.2beta at 13.706s, 3.4% faster.
drh ok  *
c.   The speedtest1 program
Win8: 3.8.2beta is 10.358, versus 10.670 for 3.8.1 (2.9% faster) versus 10.905 for 2012-12-04 (5.0% faster)
drh ok  *
d.   ./speedtest1 --nosync --size 25 --trace 2>x.txt
time ./sqlite3 x.db <x.txt >/dev/null
Linux x64 and valgrind: 3.8.2beta at 6988M cycles vs. 3.8.1 at 7294M cycles (4.2% faster) vs. 2012-12-04 at 7739M cycles (9.7% faster)
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.   sqlite3.c
No errors. Faster with --without-rowid except for --select and --insert.
drh ok  *
b.   sqlite3.c --cachesize 5 --nosync
No errors. Always just faster with --without-rowid.
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
Growth from 433057 to 441378, 1.9% larger
drh ok  *
b.   Versus the trunk from 12 months ago
Growth from 414320 to 441378, 6.5% larger
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 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.
Verified using 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.
Because the single-file amalgamation no longer compiles on MacOS 10.2, the 32-big binaries had to be build using the split-amalgmation, which still does work.
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)
Win7, -O3: 0 errors out of 5867892 tests in 27 configurations.
drh ok  *
b.   tclsh th3make session.rc test.rc (on unix) dan ok+  *
c.   tclsh th3make session.rc cov.rc dan ok  *
d.   tclsh th3make session.rc min.rc -norun -DTH3_LOWMEM -DTH3_OMIT_MISUSE; valgrind ./th3 dan ok  *
e.   make test (on windows)
Win7: hook-7.5.2.1 and hook-7.5.2.2 failed as expected. Also percentile-2.1.50 gives "2749999.50004681" instead of just "2749999.5".
drh ok  *
f.   make test (on unix)
hook-7.5.2.1 hook-7.5.2.2 failed as expected
dan 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. dan ok  *
 
35.   System.Data.SQLite builds and checks out using the SQLite core
netfx40, debug, release, netCF 2.0/3.5
mistachkin ok  *