Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Updates in preparation for version 3.6.17. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
c5059a139a4cd42659601b4b4e5c125b |
User & Date: | drh 2009-08-01 18:38:00.000 |
Context
2009-08-06
| ||
17:47 | Change docs to talk about the fact that virtual tables and shared cache can be used together beginning with version 3.6.17. (check-in: 68debd1491 user: drh tags: trunk) | |
2009-08-01
| ||
18:38 | Updates in preparation for version 3.6.17. (check-in: c5059a139a user: drh tags: trunk) | |
2009-07-31
| ||
20:36 | Expanded documentation on test coverage. Added the "th3.html" page for describing the TH3 program. (check-in: 6bac792113 user: drh tags: trunk) | |
Changes
Changes to pages/changes.in.
︙ | ︙ | |||
37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <a href="http://www.sqlite.org/cvstrac/timeline"> http://www.sqlite.org/cvstrac/timeline</a>.</p> } hd_close_aux hd_enable_main 1 } } chng {2009 June 27 (3.6.16)} { <li>Fix a bug (ticket #3929) that occasionally causes INSERT or UPDATE operations to fail on an indexed table that has a self-modifying trigger. <li>Other minor bug fixes and performance optimizations. } | > > > > > > > | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | <a href="http://www.sqlite.org/cvstrac/timeline"> http://www.sqlite.org/cvstrac/timeline</a>.</p> } hd_close_aux hd_enable_main 1 } } chng {2009 Aug 12 (3.6.17)} { <li>Expose the [sqlite3_strnicmp()] interface for use by extensions and applications. <li>Many code simplifications and obscure bug fixes in support of providing [test coverage | 100% branch test coverage]. } chng {2009 June 27 (3.6.16)} { <li>Fix a bug (ticket #3929) that occasionally causes INSERT or UPDATE operations to fail on an indexed table that has a self-modifying trigger. <li>Other minor bug fixes and performance optimizations. } |
︙ | ︙ |
Changes to pages/index.in.
︙ | ︙ | |||
76 77 78 79 80 81 82 | </td> <td width="20"></td><td bgcolor="#80a796" width="1"></td><td width="20"></td> <td valign="top"> <h3>Current Status</h3> <p><ul> | | | | | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | </td> <td width="20"></td><td bgcolor="#80a796" width="1"></td><td width="20"></td> <td valign="top"> <h3>Current Status</h3> <p><ul> <li><a href="releaselog/3_6_17.html">Version 3.6.17</a> of SQLite is recommended for all new development. Upgrading from version 3.6.12, 3.6.13, 3.6.14.2, and 3.6.16 is optional. Upgrading from all other SQLite versions is recommended.</li> </ul></p> <h3>Common Links</h3> <p><ul> <li> <a href="features.html">Features</a> </li> <li> <a href="faq.html">Frequently Asked Questions</a> </li> |
︙ | ︙ |
Changes to pages/news.in.
︙ | ︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 | hd_puts "<h3>$date - $title</h3>" regsub -all "\n( *\n)+" $text "</p>\n\n<p>" txt regsub -all {[Tt]icket #(\d+)} $txt \ {<a href="http://www.sqlite.org/cvstrac/tktview?tn=\1">\0</a>} txt hd_resolve "<p>$txt</p>" hd_puts "<hr width=\"50%\">" } newsitem {2009-Jun-27} {Version 3.6.16} { SQLite [version 3.6.16] is another general maintenance relase containing performance and robustness enhancements. A single notable bug was fixed (ticket #3929). This bug cause cause INSERT or UPDATE statements to fail on indexed tables that have AFTER triggers that modify the same table and index. | > > > > > > > > > > > > > > > > > > > > > > > | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | hd_puts "<h3>$date - $title</h3>" regsub -all "\n( *\n)+" $text "</p>\n\n<p>" txt regsub -all {[Tt]icket #(\d+)} $txt \ {<a href="http://www.sqlite.org/cvstrac/tktview?tn=\1">\0</a>} txt hd_resolve "<p>$txt</p>" hd_puts "<hr width=\"50%\">" } newsitem {2009-Aug-12} {Version 3.6.17} { This is a monthly maintenance release with a focus of bug fixes, performance improvements, and increased test coverage. This is the first release of SQLite since [test coverage | 100% branch test coverage] was achieved on the SQLite core. In addition, a new interface [sqlite3_strnicmp()] is provided for the convenience of extension writers. None of the bugs fixed in this release are serious. All bugs are obscure. Upgrading is optional. } newsitem {2009-July-25} {100% Branch Test Coverage} { A subset of the [TH3] test suite was measured by gcov to provide [test coverage | 100% branch test coverage] over the SQLite core (exclusive of the VFS backend and of extensions such as FTS3 and RTREE) when compiled for SuSE 10.1 Linux on x86. The SQLite developers pledge to maintain branch test coverage at 100% in all future releases. Ongoing work will strive for 100% branch test coverage on the operating-system backends and extensions as well. } newsitem {2009-Jun-27} {Version 3.6.16} { SQLite [version 3.6.16] is another general maintenance relase containing performance and robustness enhancements. A single notable bug was fixed (ticket #3929). This bug cause cause INSERT or UPDATE statements to fail on indexed tables that have AFTER triggers that modify the same table and index. |
︙ | ︙ |
Changes to pages/testing.in.
︙ | ︙ | |||
439 440 441 442 443 444 445 | test coverage - 100% branch test coverage.</p> <h3>7.2 Coverage testing of defensive code</h3> <p>A well-written C program will typically contain some defensive tests which in practice are always true or always false. This leads to a | | | 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 | test coverage - 100% branch test coverage.</p> <h3>7.2 Coverage testing of defensive code</h3> <p>A well-written C program will typically contain some defensive tests which in practice are always true or always false. This leads to a programming dilemma: Does one remove defensive code in order to obtain 100% branch coverage?</p> <p>In SQLite, the answer to the previous question is "no". For testing purposes, the SQLite source code defines macros called ALWAYS() and NEVER(). The ALWAYS() macro surrounds conditions which are expected to always evaluated to true and NEVER() surrounds |
︙ | ︙ |