SQLite 3.21.0 Status Board

History    Checklist    Baseline

 
1.   Test procedure review. drh ok  *
 
a.   Review the "test/releasetest.tcl" script for completeness and accuracy. drh ok  *
b.   Review "multitest.tcl" and "alignment*.rc" scripts in TH3 for completeness. drh ok  *
c.   Review this checklist for completeness and accuracy. drh ok  *
 
2.   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  *
k.   Significant compile-time options are recognized by the sqlite3_compileoption_used() interface. drh ok  *
l.   Compare sqlite3.c and sqlite3.h against the previous release. drh ok  *
 
3.   Documentation review: 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  *
 
4.   Compiler warning checks. drh ok  *
 
a.   Linux GCC -Wall -Wextra (the "tool/warnings.sh" script) drh ok  *
b.   Mac OS X GCC -Wall -Wextra (the "tool/warnings.sh" script) drh ok  *
c.   OpenBSD GCC using options -Wall drh ok  *
d.   Windows (32-bit) MSVC using option /W4 (nmake /f makefile.msc) drh ok  *
e.   Windows (64-bit) MSVC using option /W4 (nmake /f makefile.msc) drh ok  *
 
5.   OMIT, ENABLE, and DISABLE options: drh ok  *
 
a.   tclsh ../tool/omittest.tcl -skip_run -target libsqlite3.a drh ok  *
 
6.   Tests for platform Linux x86_64: dan ok  *
 
a.   tclsh multitest.tcl (take care to update ../th3private)
0 failures on 43 th3makes and 193204328 tests in (06:28:52) 3 cores on bella • SQLite 3.21.0 2017-10-12 01:19:06 f0a2724f0a255cd5a262f31e4ee1f99ae713c25a9ecc56dc794c95f223453b9b • 0 failures on 43 th3makes and 193205784 tests in (07:41:32) 2 cores on bella • SQLite 3.21.0 2017-10-21 17:17:17 fb3ee1b7cac09e4950e4f48b44c277e4f391cb6c8f069644732d2389ca653da4
drh ok+  *
b.   tclsh releasetest.tcl
0 failures out of 10008874 tests in (01:46:36) 3 cores on darkstar • SQLite 3.21.0 2017-10-23 07:53:00 c333ee7e9677bda1dad8e80cf94755350bfe20bc0754577442727b6f807ad831
dan ok  *
c.   tclsh multitest.tcl --scenario failures - all failures detected drh ok  *
d.   tclsh releasetest.tcl --platform Failure-Detection - all failures detected drh ok  *
e.   sh tool/symbols.sh - no incorrect exports or dependencies drh ok  *
 
7.   Tests for platform Linux ARM (BeagleBoard) dan ok  *
 
a.   tclsh th3make min.rc
0 errors in 1593046 tests. 4685.102 seconds on beaglebone 32-bit little-endian • SQLite 3.21.0 2017-10-23 21:24:38 54b90b4f27f6f213825e881929fa04a6282e5b909a12e881366f9aef6872dcb6
dan ok  *
b.   Recompile and test Fossil.
[fossil all rebuild] works. [fossil clone] works.
dan ok  *
 
8.   Tests for platform Mac OS X: dan ok  *
 
a.   tclsh releasetest.tcl
0 failures out of 4943513 tests in (04:09:39) 2 cores on Chanphen-Kruatawongs-iMac.local • SQLite 3.21.0 2017-10-23 16:03:54 58e5bb491bc0e28412ca188ba8fbe94adc67b5b1e9d7c112c36011400528alt1
dan ok  *
b.   tclsh multitest.tcl (after updating th3private)
0 failures on 38 th3makes and 156070444 tests in (11:52:33) 2 cores on macpro01 • SQLite 3.21.0 2017-10-21 17:17:17 fb3ee1b7cac09e4950e4f48b44c277e4f391cb6c8f069644732d2389ca653da4
drh ok  *
c.   tclsh multitest.tcl --scenario failures - all failures detected drh ok  *
d.   tclsh releasetest.tcl --platform Failure-Detection - all failures detected drh ok  *
 
9.   Tests for platform Mac OS X 10.2 (PPC): drh ok  *
 
a.   .selftest checks (see below) 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 Windows: --- ---
 
a.   tclsh multitest.tcl --msvc (after updating th3private)
0 failures on 37 th3makes and 146246640 tests in (11:27:15) 2 core on Lenovo • SQLite 3.21.0 2017-10-21 17:17:17 fb3ee1b7cac09e4950e4f48b44c277e4f391cb6c8f069644732d2389ca653da4
drh ok  *
b.   tclsh multitest.tcl --msvc --quick on x86
0 failures on 16 th3makes and 22203907 tests in (02:20:40) on DESKTOP-8U9G1N8 • SQLite 3.21.0 2017-10-23 21:24:38 54b90b4f27f6f213825e881929fa04a6282e5b909a12e881366f9aef6872dcb6
drh ok  *
c.   tclsh multitest.tcl --msvc --scenario failures - verify failures detected drh ok  *
d.   tclsh test/releasetest.tcl --msvc
0 failures out of 1974192 tests in (02:17:32) on DESKTOP-8U9G1N8 • SQLite 3.21.0 2017-10-23 20:20:42 f632b87002a7ee9be569aacb5ce85bb7e9c86b7d77bb8d1bf8b55eb5be4ecc77
drh ok  *
e.   tclsh releasetest.tcl --platform Failure-Detection - all failures detected drh ok  *
f.   nmake /f makefile.msc MEMDEBUG=1 DEBUG=3 test
SQLite 2017-10-22 08:02:56 0fcf1e61ef2b6c1fb8f4846f973d2d427598ffbc80dbc49e56e71513b194bae7 • 0 errors out of 114825 tests on Lenovo Windows NT 64-bit little-endian
drh ok  *
g.   nmake /f makefile.msc WIN32HEAP=1 DEBUG=4 test
SQLite 2017-10-22 08:02:56 0fcf1e61ef2b6c1fb8f4846f973d2d427598ffbc80dbc49e56e71513b194bae7 • 0 errors out of 115900 tests on Lenovo Windows NT 64-bit little-endian
drh ok  *
h.   sh tool/symbols-mingw.sh - no incorrect exports or dependencies drh ok  *
i.   Verify that EXEs and DLLs generated using MSVC contain the correct version number, product name, description, and copyright as resources. drh ok  *
 
11.   Tests for platform OpenBSD (x86): drh ok  *
 
a.   make test
3 failures due to floating point differences. Deemed pass.
drh ok  *
b.   th3make quick.rc
th3: 0 errors in 1705774 tests. 3142.418 seconds on wolfman.devio.us 32-bit little-endian • th3: SQLite 3.21.0 2017-10-23 21:24:38 54b90b4f27f6f213825e881929fa04a6282e5b909a12e881366f9aef6872dcb6
drh ok  *
 
12.   Sqllogictest: drh ok  *
 
a.   Checked in latest SQLite amalgamation. drh ok  *
b.   No SQLite compiler warnings. drh ok  *
c.   tclsh run-all.tcl - on unix
0 errors out of 11879758 tests and 1244 invocations in 799 seconds
drh ok  *
d.   tclsh run-all.tcl - on windows
0 errors out of 11879758 tests and 1244 invocations in 2456 seconds
drh ok+  *
 
13.   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.   Verify the correct version numbers have been installed. drh ok  *
 
14.   Fossil updated to use the latest SQLite. drh ok  *
 
a.   No SQLite compiler warnings. drh ok  *
b.   Used on active websites with no issues. drh ok  *
c.   fossil all dbstat --db-check drh ok  *
 
15.   Rebuild and use Firefox with the latest SQLite drh ok  *
 
a.   Routine use with no problems drh ok  *
b.   ./mach mochitest dom/indexedDB drh ok  *
c.   ./mach xpcshell-test dom/indexedDB drh ok  *
d.   ./mach web-platform-tests IndexedDB drh ok  *
 
16.   CEROD tests in the "test/" subdirectory. drh ok  *
 
17.   SEE tests using TH3: drh ok  *
 
a.   see.c
th3: 0 errors in 8251752 tests. 5257.199 seconds on macpro01 64-bit little-endian • th3: SQLite 3.21.0 2017-10-23 16:34:07 0481330756e861de8e1eb7136e7dca2f333b2a82377949d2e0eba401af7d73dd
drh ok  *
b.   see-aes128-ofb.c
th3: 0 errors in 8204233 tests. 2155.050 seconds on bella 64-bit little-endian • th3: SQLite 3.21.0 2017-10-23 21:24:38 54b90b4f27f6f213825e881929fa04a6282e5b909a12e881366f9aef6872dcb6
drh ok  *
c.   see-aes256-ofb.c
th3: 0 errors in 1703076 tests. 682.041 seconds on Lenovo 64-bit little-endian • th3: SQLite 3.21.0 2017-10-23 21:24:38 54b90b4f27f6f213825e881929fa04a6282e5b909a12e881366f9aef6872dcb6
drh ok  *
d.   see-rc4.c
th3: 0 errors in 1698868 tests. 274.504 seconds on bella 64-bit little-endian • th3: SQLite 3.21.0 2017-10-23 21:24:38 54b90b4f27f6f213825e881929fa04a6282e5b909a12e881366f9aef6872dcb6
drh ok  *
e.   see-aes128-ccm.c
th3: 0 errors in 1699044 tests. 277.043 seconds on bella 64-bit little-endian • th3: SQLite 3.21.0 2017-10-23 21:24:38 54b90b4f27f6f213825e881929fa04a6282e5b909a12e881366f9aef6872dcb6
drh ok  *
f.   see-cccrypt.c
th3: 0 errors in 1683464 tests. 273.243 seconds on macpro01 64-bit little-endian • th3: SQLite 3.21.0 2017-10-23 21:24:38 54b90b4f27f6f213825e881929fa04a6282e5b909a12e881366f9aef6872dcb6
drh ok  *
g.   At least one of the above using "test.rc". drh ok  *
h.   At least one of the above using "memdebug.rc". drh ok  *
i.   At least one of the above on Linux. drh ok  *
j.   At least one of the above on Mac OS X. drh ok  *
k.   At least one of the above on Windows. drh ok  *
 
18.   SEE using configure; make test drh ok  *
 
a.   Linux drh ok  *
b.   Mac drh ok  *
 
19.   ZIPVFS tests: drh ok  *
 
a.   testfixture ../zipvfs/test/zipvfs.test (See test/README.txt for details)
SQLite 2017-10-23 21:24:38 54b90b4f27f6f213825e881929fa04a6282e5b909a12e881366f9aef6872dcb6 • 0 errors out of 77121 tests on bella Linux 64-bit little-endian
drh ok  *
b.   th3make zipvfs.rc test.rc
th3: 0 errors in 8251752 tests. 5257.199 seconds on macpro01 64-bit little-endian • th3: SQLite 3.21.0 2017-10-23 16:34:07 0481330756e861de8e1eb7136e7dca2f333b2a82377949d2e0eba401af7d73dd
drh ok  *
c.   th3make zipvfs.rc memdebug.rc
th3: 0 errors in 10030920 tests. 7752.709 seconds on bella 64-bit little-endian • th3: SQLite 3.21.0 2017-10-23 16:03:54 58e5bb491bc0e28412ca188ba8fbe94adc67b5b1e9d7c112c36011400528alt1
drh ok  *
d.   th3make zipvfs.rc quick.rc -valgrind
th3: 0 errors in 1699044 tests. 277.043 seconds on bella 64-bit little-endian • th3: SQLite 3.21.0 2017-10-23 21:24:38 54b90b4f27f6f213825e881929fa04a6282e5b909a12e881366f9aef6872dcb6 • ==25346== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
drh ok  *
e.   th3make zipvfs.rc quick.rc
th3: 0 errors in 2833601 tests. 1683.948 seconds on DESKTOP-8U9G1N8 64-bit little-endian • th3: SQLite 3.21.0 2017-10-23 16:03:54 58e5bb491bc0e28412ca188ba8fbe94adc67b5b1e9d7c112c36011400528alt1
drh ok  *
f.   At least one of the above on Linux. drh ok  *
g.   At least one of the above on Mac OS X. drh ok  *
h.   At least one of the above on Windows. drh ok  *
i.   th3make zipvfs-cov.rc - verify full coverage drh ok  *
 
20.   NDS-Devkit testing drh ok  *
 
a.   Verify that devkit sources are up-to-date with SQLite and ZIPVFS by running update-src.sh and mkdevkit.tcl in the sbin subdirectory of the devkit source tree. Record nds_sqlite3.[ch] hashes in the comment. drh ok  *
b.   Test using: tclsh th3make test.rc nds_devkit.rc
th3: 0 errors in 7047461 tests. 1216.806 seconds on bella 64-bit little-endian • th3: NDS DevKit 3.21.0 2017-10-24 03:48:55 9feaedb118d46640 • th3: SQLite 3.21.0 2017-10-23 20:20:42 f632b87002a7ee9be569aacb5ce85bb7e9c86b7d77bb8d1bf8b55eb5be4ecc77
drh ok  *
c.   Verify the "NDS DevKit" version number shown at the end of the test drh ok  *
 
21.   Amalgamation autoconf tarball. drh ok  *
 
a.   Builds. drh ok  *
b.   Works on Linux. drh ok  *
c.   Works on Mac OS X. drh ok  *
d.   Works on Windows MinGW drh ok  *
e.   Works on Windows MSVC drh ok  *
 
22.   TEA archive builds correctly and runs: drh ok  *
 
a.   Linux drh ok  *
b.   Mac OS X drh ok  *
 
23.   Performance tests using speedtest1 compared against the previous release and a release from about one year ago. drh ok  *
 
a.   Android
3.21.0: 40.78s, 3.20.1: 41.1s, 3.15.0: 46.6s.
dan ok  *
b.   Linux
3.21.0: 3.134s • 3.20.1: 3.253s • 3.15.0: 3.697s
drh ok  *
c.   Mac
3.21.0: 4.628s • 3.20.1: 4.685s • 3.15.0: 5.217s • Run on a RAM disk.
drh ok  *
d.   Windows
3.21.0: 5.235s • 3.20.1: 5.360s • 3.15.0: 5.859s
drh ok  *
 
24.   Performance tests using speedtest1 --testset rtree drh ok  *
 
a.   Linux
3.21.0: 7.082s • 3.20.1: 7.073s • 3.15.0: 10.512s
drh ok  *
b.   Windows
3.21.0: 7.814s • 3.20.1: 7.861s • 3.15.0: 13.360s
drh ok  *
 
25.   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  *
 
26.   Compare performance to the previous release using kvtest. drh ok  *
 
a.   Android
Tested with default database and "--count 100000" • 3.21.0: Total elapsed time: 3.276, Microseconds per BLOB read: 32.760, Content read rate: 305.3 MB/s • 3.20.1: Total elapsed time: 3.321, Microseconds per BLOB read: 33.210, Content read rate: 301.1 MB/s
dan ok+  *
b.   Linux drh ok  *
c.   Mac drh ok  *
d.   Windows drh ok  *
 
27.   Use the ".selftest" command of the shell to verify that legacy database files are readable and cross-platform drh ok  *
 
a.   iBook PPC drh ok  *
b.   Linux drh ok  *
c.   Mac drh ok  *
d.   Windows drh ok  *
 
28.   Verify that the performance and size measurement spreadsheet in the documentation (misc/speed-size-graph.ods) is up-to-date. drh ok  *
 
29.   Verify that the amalgamation builds are byte-for-byte identical on all workstation platforms. drh ok  *
 
a.   Linux
2417f18f546d0507defda4639881edd114c4c8c128e8a5935afbb4e868cdd29a sqlite3.c • 5c307937c9c3995060abdc75819b9c2b9ea180edcbb7798fb5f5c5aff48fb849 sqlite3.h • 5008a9b007d10fafdcc23a500eabe11a18728b2d6d56e9ff6469e4e9bfe645fd shell.c
drh ok  *
b.   Mac OS X
2417f18f546d0507defda4639881edd114c4c8c128e8a5935afbb4e868cdd29a sqlite3.c • 5c307937c9c3995060abdc75819b9c2b9ea180edcbb7798fb5f5c5aff48fb849 sqlite3.h • 5008a9b007d10fafdcc23a500eabe11a18728b2d6d56e9ff6469e4e9bfe645fd shell.c
drh ok  *
c.   Windows using native MinGW.
2417f18f546d0507defda4639881edd114c4c8c128e8a5935afbb4e868cdd29a sqlite3.c • 5c307937c9c3995060abdc75819b9c2b9ea180edcbb7798fb5f5c5aff48fb849 sqlite3.h • 5bfaf8b604771085a1d8c1fca979596bc8acd8dc19dc10acfae6f937aa320081 shell.c
drh ok  *
d.   Windows using NMAKE.
2417f18f546d0507defda4639881edd114c4c8c128e8a5935afbb4e868cdd29a sqlite3.c • 5c307937c9c3995060abdc75819b9c2b9ea180edcbb7798fb5f5c5aff48fb849 sqlite3.h • 5bfaf8b604771085a1d8c1fca979596bc8acd8dc19dc10acfae6f937aa320081 shell.c
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 against 3.8.2 and 3.7.3 using backcompat.test.
dan ok  *
 
31.   Build and verify correct operation of sqlite3_analyzer on: drh ok  *
 
a.   Linux drh ok  *
b.   Mac OS X drh ok  *
c.   Windows (MinGW) drh ok  *
d.   Windows (MSVC) drh ok  *
e.   A database containing WITHOUT ROWID tables. drh ok  *
 
32.   Build and verify sqldiff drh ok  *
 
a.   Linux drh ok  *
b.   Mac drh ok  *
c.   Windows drh ok  *
 
33.   Run the rbu/run_rbu_tests.tcl script in the test-dbs project on Linux.
All tests report "round trip successful".
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  *