SQLite 3.10.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]*\(/
Remember to make structural improvements to make this step easier at the beginning of the next change cycle.
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  *
 
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)
Warnings on the "Android Configuration" but that does not apply for Mac. Need to update the script, though.
drh ok+  *
c.   OpenBSD GCC using options -Wall drh ok  *
d.   Windows (32-bit) MSVC using option /W4 drh ok+  *
e.   Windows (64-bit) MSVC using option /W4 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: drh ok  *
 
a.   tclsh multitest.tcl
0 failures on 31 th3makes and 172598738 tests in (03:47:11) 4 cores on bella • SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
drh ok  *
b.   Check the "multitest.tcl" log files for undetected errors. drh ok  *
c.   tclsh releasetest.tcl
0 failures out of 9573534 tests in (02:14:33) 3 cores on bella • SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229 • 0 failures out of 9573530 tests in (03:19:13) 3 cores on tallis • SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
drh ok+  *
d.   Check the "releasetest.tcl" log files for undetected errors. drh ok  *
e.   tclsh multitest.tcl --scenario failures - all failures detected drh ok  *
f.   tclsh releasetest.tcl --platform Failure-Detection - all failures detected drh ok  *
g.   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
th3: 0 errors out of 1505814 tests in 3944.078 seconds. 32-bit little-endian • th3: SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
dan ok  *
b.   Recompile and test Fossil. dan ok  *
 
8.   Tests for platform Mac OS X (x86): drh ok  *
 
a.   tclsh releasetest.tcl
0 failures out of 4438603 tests in (04:00:17) 4 cores on macpro-2015 • SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
drh ok+  *
b.   tclsh multitest.tcl --omit test-ex
0 failures on 27 th3makes and 135174584 tests in (23:18:59) 2 cores on sqlite-imac • SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
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.   tclsh th3make quick.rc
th3: 24 errors out of 1507032 tests in 4150.012 seconds. 32-bit big-endian • th3: SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229 • All 24 errors are in ctime03.1.6.1 or ctime03.1.6.2 - configuration differences between the target and the code generator host.
drh ok  *
b.   Recompile and test Fossil.
sqlite-version: 2015-12-24 14:53:27 [7c7b7f2630] (3.10.0)
drh ok  *
c.   Verify that Fossil repositories are cross-platform with x86/x64. drh ok  *
 
10.   Tests for platform Windows 7.0/8.x (x86): drh ok  *
 
a.   th3make msvc.rc test.rc /RTC1
On poulenc • th3: 0 errors out of 5984202 tests in 3322.500 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229
drh ok  *
b.   tclsh multitest.tcl --omit test-ex
0 failures on 24 th3makes and 111847115 tests in (05:39:22) 3 cores on poulenc • SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229 • 0 failures on 25 th3makes and 124987179 tests in (08:00:00) 3 cores on poulenc • SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
drh ok  *
c.   tclsh multitest.tcl --scenario failures - verify failures detected drh ok  *
d.   tclsh test/releasetest.tcl
0 failures out of 1239833 tests in (02:50:35) 2 cores on win7dev • SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
drh ok  *
e.   tclsh test/releasetest.tcl --msvc
0 failures out of 1791209 tests in (04:35:33) on win7dev • SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229 • 0 failures out of 1790712 tests in (04:31:21) on win7dev • SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
drh ok+  *
f.   tclsh releasetest.tcl --platform Failure-Detection - all failures detected drh ok  *
g.   nmake /f makefile.msc MEMDEBUG=1 DEBUG=3 fulltestonly
0 errors out of 1187445 tests
drh ok  *
h.   nmake /f makefile.msc WIN32HEAP=1 DEBUG=4 fulltestonly
1 errors out of 1190109 tests • !Failures on these tests: selectG-100 • The failure was a timing test. win7dev is a slow box, so that is OK.
drh ok  *
i.   sh tool/symbols-mingw.sh - no incorrect exports or dependencies drh ok  *
j.   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 Windows (other): mistachkin ok  *
 
a.   th3make msvc.rc test.rc - Windows 7.0/8.x (x64)
On poulenc • th3: 0 errors out of 5984202 tests in 3322.500 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229
drh ok  *
b.   th3make msvc.rc winrt.rc min.rc - Windows Runtime 8.0 (x86)
0 errors out of 1507190 tests in 695.385 seconds. 32-bit little-endian, SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
mistachkin ok+  *
c.   th3make msvc.rc winrt.rc min.rc - Windows Runtime 8.0 (ARM)
0 errors out of 1507167 tests in 4473.884 seconds. 32-bit little-endian, SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
mistachkin ok  *
d.   th3make msvc.rc winrt.rc min.rc - Windows Runtime 8.1
0 errors out of 1507192 tests in 3065.743 seconds. 32-bit little-endian, SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
mistachkin ok  *
e.   th3make msvc.rc wp80.rc min.rc - Windows Phone 8.0
0 errors out of 1506200 tests in 941.807 seconds. 32-bit little-endian, SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
mistachkin ok  *
f.   th3make msvc.rc wp81.rc min.rc - Windows Phone 8.1
0 errors out of 1506194 tests in 3174.583 seconds. 32-bit little-endian, SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
mistachkin ok  *
g.   th3make msvc.rc wince.rc min.rc - Windows Embedded Compact 2013 - When tests are going to be run on the [Hyper-V based] emulator, no-mmap.rc must be used as well.
0 errors out of 1513648 tests in 3641.753 seconds. 32-bit little-endian, SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
mistachkin ok  *
 
12.   Tests for platform OpenBSD (x86): drh ok  *
 
a.   make test
shell1-5.0... • Error: failed with byte E0 mismatch • All else passed - we'll let this one slide.
drh ok  *
b.   th3make quick.rc
th3: 0 errors out of 1595295 tests in 3032.345 seconds. 32-bit little-endian • th3: SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229 • On devio.us
drh ok  *
 
13.   Tests for platform Solaris (SPARC): drh ok  *
 
a.   make test
0 errors out of 139782 tests • a855697719e288c908ddb7950d32fd17ef546509 2016-01-05 03:39:52 UTC
drh ok+  *
b.   tclsh multitest.tcl --only quick
0 failures on 7 th3makes and 11656979 tests in (02:19:27) 2 cores on sparc.sqlite.org • SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229 • 0 failures on 7 th3makes and 11663019 tests in (02:19:55) 2 cores on sparc.sqlite.org • SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
drh ok+  *
c.   Recompile and test Fossil. drh ok  *
d.   Verify that Fossil repositories are cross-platform with x86/x64. drh ok  *
 
14.   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 829 seconds
drh ok  *
d.   tclsh run-all.tcl - on windows
0 errors out of 11879758 tests and 1244 invocations in 3588 seconds
drh ok  *
 
15.   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  *
 
16.   Fossil updated to use the latest SQLite.
SQLite Version: 2016-01-05 03:39:52 [a855697719] (3.10.0)
drh ok+  *
 
a.   No SQLite compiler warnings. drh ok  *
b.   Used on active websites with no issues. drh ok  *
 
17.   CEROD tests in the "test/" subdirectory. drh ok  *
 
18.   SEE tests using TH3: drh ok  *
 
a.   see.c
memdebug on bella. • th3: 0 errors out of 7833919 tests in 4347.202 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229
drh ok  *
b.   see-aes128-ofb.c
quick.rc on sqlite-imac • th3: 0 errors out of 1553041 tests in 743.005 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229
drh ok  *
c.   see-aes256-ofb.c
quick.rc on bella • th3: 0 errors out of 1563087 tests in 214.871 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229
drh ok  *
d.   see-rc4.c
quick.rc on poulenc • th3: 0 errors out of 1577352 tests in 581.528 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229
drh ok  *
e.   see-aes128-ccm.c
test.rc on bella • th3: 0 errors out of 7834982 tests in 2522.602 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229
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 OS X. drh ok  *
j.   At least one of the above on Windows. drh ok  *
 
19.   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 72318 tests
dan ok  *
b.   th3make zipvfs.rc test.rc
On tallis • th3: 0 errors out of 8300119 tests in 1795.320 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
drh ok  *
c.   th3make zipvfs.rc memdebug.rc
On tallis: • th3: 0 errors out of 8300151 tests in 4427.651 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-05 03:39:52 a855697719e288c908ddb7950d32fd17ef546509
drh ok  *
d.   th3make zipvfs.rc quick.rc -valgrind
th3: 0 errors out of 2114492 tests in 9901.674 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229 • No valgrind errors • Run on bella
drh ok  *
e.   th3make zipvfs.rc quick.rc
On sqlite-imac • th3: 0 errors out of 2102375 tests in 1079.729 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229
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  *
 
20.   NX-Devkit compiles and runs tclsh th3make test.rc nx_compress.o without error.
th3: 0 errors out of 6874656 tests in 1171.196 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 13:06:53 b779ca8a7580e2a0bb1176316c4540867b635229
drh ok  *
 
21.   Amalgamation autoconf tarball. dan ok  *
 
a.   Builds. dan ok  *
b.   Works on Linux. dan ok  *
c.   Works on Mac OS X. dan ok  *
 
22.   TEA archive builds correctly and runs: dan ok  *
 
a.   Linux dan ok  *
b.   Mac OS X dan ok  *
 
23.   Run performance tests comparing the new SQLite release against the previous release and/or a release from one year ago. Document and justify any performance decrease. drh ok  *
 
a.   The Tcl "speed*.test" scripts.
trunk: 5.038s, 3975681 uS • 3.9.2: 5.104s, 4035488 uS
drh ok  *
b.   The TH3 speed tests.
trunk: 6.074s • 3.9/.2: 6.336s
drh ok  *
c.   The "speedtest1" program.
trunk: 1.143 billion cycles. • 3.9.2: 1.177 billion cycles. (trunk is 2.9% faster) • 2015-01-01: 1.368 billion cycles. (trunk is 16.4% faster)
drh ok+  *
d.   ./speedtest1 --nosync --size 25 --trace 2>x.txt
time ./sqlite3 x.db <x.txt >/dev/null
trunk 2448 billion cycles. • 3.9.2: 2508 billion cycles.
drh ok  *
e.   One or more of the above on Linux. drh ok  *
f.   One or more of the above on Windows.
speedtest1-3.9.2: 9.126s • speedtest1-trunk: 9.079s
drh ok  *
g.   One or more of the above on Mac OS X. drh ok  *
 
24.   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  *
 
25.   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.9.2: 463691 • trunk: 463959 • 0.05% larger.
drh ok  *
b.   Versus the trunk from 12 months ago.
2015-01-04: 454177 • trunk: 463959 • 2.2% larger
drh ok  *
 
26.   Verify that the amalgamation builds are byte-for-byte identical on all workstation platforms. drh ok  *
 
a.   Linux
e93cb629805890bc9bd932866d4e1961bec1e3c6 sqlite3.c • 9dcb0f25b628d8186d4906a51f1fdd7d9333d270 sqlite3.h
drh ok  *
b.   Mac OS X
e93cb629805890bc9bd932866d4e1961bec1e3c6 sqlite3.c • 9dcb0f25b628d8186d4906a51f1fdd7d9333d270 sqlite3.h
drh ok  *
c.   OpenBSD
e93cb629805890bc9bd932866d4e1961bec1e3c6 sqlite3.c • 9dcb0f25b628d8186d4906a51f1fdd7d9333d270 sqlite3.h
drh ok  *
d.   Windows using native MinGW.
e93cb629805890bc9bd932866d4e1961bec1e3c6 sqlite3.c • 9dcb0f25b628d8186d4906a51f1fdd7d9333d270 sqlite3.h
drh ok  *
e.   Windows using NMAKE.
e93cb629805890bc9bd932866d4e1961bec1e3c6 sqlite3.c • 9dcb0f25b628d8186d4906a51f1fdd7d9333d270 sqlite3.h
drh ok  *
f.   Solaris (SPARC) using autoconf.
e93cb629805890bc9bd932866d4e1961bec1e3c6 sqlite3.c • 9dcb0f25b628d8186d4906a51f1fdd7d9333d270 sqlite3.h
drh ok  *
 
27.   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.6.4, 3.7.3 and 3.8.1 using backcompat.test.
dan ok  *
 
28.   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  *
 
29.   Build and verify correct operation of sqlite3_analyzer on: drh ok  *
 
a.   Linux drh ok  *
b.   Mac OS X drh ok  *
c.   Solaris (SPARC) drh ok  *
d.   Windows (MinGW) drh ok  *
e.   Windows (MSVC) drh ok  *
f.   A database containing WITHOUT ROWID tables. drh ok  *
 
30.   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)
th3: 0 errors out of 5980974 tests in 2377.245 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 19:02:47 c785cd7813e4ef6d6f2cb362a0f822713db6bcea
drh ok  *
b.   tclsh th3make session.rc test.rc (on Unix)
th3: 0 errors out of 7869713 tests in 2038.577 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 19:02:47 c785cd7813e4ef6d6f2cb362a0f822713db6bcea • On tallis
drh ok  *
c.   tclsh th3make session.rc quick.rc -valgrind
On tallis • th3: 0 errors out of 1584781 tests in 12278.168 seconds. 64-bit little-endian • th3: SQLite 3.10.0 2016-01-04 19:02:47 c785cd7813e4ef6d6f2cb362a0f822713db6bcea
drh ok  *
d.   make test (on Windows)
0 errors out of 166094 tests
drh ok  *
e.   make test (on Unix) drh ok  *
f.   testfixture test/session.test
On tallis: 0 errors out of 46275 tests • On poulenc: 0 errors out of 49174 tests
drh ok+  *
 
31.   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  *
 
32.   System.Data.SQLite builds and checks out using the SQLite core.
a855697719e288c908ddb7950d32fd17ef546509, Debug NetFx451 x86: 0 errors/497 tests, 1211 seconds, Release NetFx451 x86: 0 errors/497 tests, 1164 seconds, Debug NetFx451 x64: 0 errors/497 tests, 1058 seconds, Release NetFx451 x64: 0 errors/497 tests, 1043 seconds, 0 errors/24 tests (Debug NetCF20-ARM/NetCF35-ARM), 0 errors/24 tests (Release NetCF20-ARM/NetCF35-ARM)
mistachkin ok  *