Documentation Source Text
Check-in [7417675f15]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
SHA1 Hash:7417675f15d3edfa076de7c652f9523fe1870c5a
Date: 2012-10-09 16:18:20
User: drh
Comment:Add documentation of recent changes.
Tags And Properties
Changes
hide diffs unified diffs patch

Changes to pages/changes.in

37 <a href="http://www.sqlite.org/src/timeline"> 37 <a href="http://www.sqlite.org/src/timeline"> 38 http://www.sqlite.org/src/timeline</a>.</p> 38 http://www.sqlite.org/src/timeline</a>.</p> 39 } 39 } 40 hd_close_aux 40 hd_close_aux 41 hd_enable_main 1 41 hd_enable_main 1 42 } 42 } 43 } 43 } > 44 > 45 chng {2012-12-12 (3.7.15)} { > 46 <li>Added the [sqlite3_errstr()] interface. > 47 <li>Avoid invoking the [sqlite3_trace()] callback multiple times when a > 48 statement is automatically reprepared due to [SQLITE_SCHEMA] errors. > 49 <li>Enhance IN operator processing to make use of indices with numeric > 50 affinities. > 51 <li>Do full-table scans using covering indices when possible, under the > 52 theory that an index will be smaller and hence can be scanned with > 53 less I/O. > 54 <li>Enhancements the command-line shell: > 55 <ul> > 56 <li>Added the ".print" command > 57 <li>Negative numbers in the ".width" command cause right-alignment > 58 <li>Add the ".wheretrace" command when compiled with SQLITE_DEBUG > 59 </ul> > 60 <li>Added the [busy_timeout pragma]. > 61 <li>Enhance the query optimizer so that ORDER BY clauses are more aggressively > 62 optimized, especially in joins where various terms of the ORDER BY clause > 63 come from separate tables of the join. > 64 <li>Added the [SQLITE_FCNTL_BUSYHANDLER] file control, used to allow VFS > 65 implementations to get access to the busy handler callback. > 66 <li>Work around an optimizer bug in the MSVC compiler when targeting ARM. > 67 <li>Fix various concurrency problems in shared-cache mode. > 68 <li>Bug fix: Avoid a deadlock or crash if the [backup API], [shared cache], > 69 and the SQLite Encryption Extension are all used at once. > 70 <li>Bug fix: SQL functions created using the TCL interface honor the > 71 "nullvalue" setting. > 72 } 44 73 45 chng {2012-10-04 (3.7.14.1)} { 74 chng {2012-10-04 (3.7.14.1)} { 46 <li>Fix a bug (ticket 75 <li>Fix a bug (ticket 47 <a href="www.sqlite.org/src/tktview/d02e1406a58ea02d">&#91;d02e1406a58ea02d]&#93 76 <a href="www.sqlite.org/src/tktview/d02e1406a58ea02d">&#91;d02e1406a58ea02d]&#93 48 that causes a segfault on a LEFT JOIN that includes an OR in the ON clause. 77 that causes a segfault on a LEFT JOIN that includes an OR in the ON clause. 49 <li>Work around a bug in the optimizer in the VisualStudio-2012 compiler that 78 <li>Work around a bug in the optimizer in the VisualStudio-2012 compiler that 50 causes invalid code to be generated when compiling SQLite on ARM. 79 causes invalid code to be generated when compiling SQLite on ARM.

Changes to pages/compile.in

321 321 322 </tcl> 322 </tcl> 323 323 324 <a name="enablefeatures"></a> 324 <a name="enablefeatures"></a> 325 <h2>1.4 Options To Enable Features Normally Turned Off</h2> 325 <h2>1.4 Options To Enable Features Normally Turned Off</h2> 326 326 327 <tcl> 327 <tcl> > 328 COMPILE_OPTION {SQLITE_ALLOW_COVERING_INDEX_SCAN=<i>&lt;0 or 1&gt;</i>} { > 329 This C-preprocess macro determines the default setting of the > 330 [SQLITE_CONFIG_COVERING_INDEX_SCAN] configuration setting. It defaults > 331 to 1 (on) which means that covering indices are used for full table > 332 scans where possible, in order to reduce I/O and improve performance. > 333 However, the use of a covering indice for a full scan will cause results > 334 to appear in a different order from legacy, which could cause some > 335 (incorrectly-coded) legacy applications to break. Hence, the covering > 336 index scan option can be disabled at compile-time on systems that what > 337 to minimize their risk of exposing errors in legacy applications. > 338 } > 339 328 COMPILE_OPTION {SQLITE_ENABLE_8_3_NAMES=<i>&lt;1 or 2&gt;</i>} { 340 COMPILE_OPTION {SQLITE_ENABLE_8_3_NAMES=<i>&lt;1 or 2&gt;</i>} { 329 If this C-preprocessor macro is defined, then extra code is 341 If this C-preprocessor macro is defined, then extra code is 330 included that allows SQLite to function on a filesystem that 342 included that allows SQLite to function on a filesystem that 331 only support 8+3 filenames. If the value of this macro is 1, 343 only support 8+3 filenames. If the value of this macro is 1, 332 then the default behavior is to continue to use long filenames and 344 then the default behavior is to continue to use long filenames and 333 to only use 8+3 filenames if the 345 to only use 8+3 filenames if the 334 database connection is opened using [URI filenames] with 346 database connection is opened using [URI filenames] with

Changes to pages/index.in

83 83 84 </td> 84 </td> 85 <td width="20"></td><td bgcolor="#044a64" width="1"></td><td width="20"></td> 85 <td width="20"></td><td bgcolor="#044a64" width="1"></td><td width="20"></td> 86 <td valign="top"> 86 <td valign="top"> 87 <h3>Current Status</h3> 87 <h3>Current Status</h3> 88 88 89 <p><ul> 89 <p><ul> 90 <li><a href="releaselog/3_7_14_1.html">Version 3.7.14.1</a> | 90 <li><a href="releaselog/3_7_15.html">Version 3.7.15</a> 91 of SQLite is recommended for all new development. 91 of SQLite is recommended for all new development. 92 Upgrading from version 3.7.6.3, 3.7.7, 3.7.7.1, 3.7.8, 3.7.9, 3.7.11, 92 Upgrading from version 3.7.6.3, 3.7.7, 3.7.7.1, 3.7.8, 3.7.9, 3.7.11, 93 3.7.12, 3.7.12.1, or 3.7.13 is optional. | 93 3.7.12, 3.7.12.1, 3.7.13, 3.7.14.1 is optional. 94 Upgrading from all other SQLite versions (including version 3.7.14) | 94 Upgrading from all other SQLite versions 95 is recommended.</li> 95 is recommended.</li> 96 </ul></p> 96 </ul></p> 97 97 98 <h3>Common Links</h3> 98 <h3>Common Links</h3> 99 99 100 <p><ul> 100 <p><ul> 101 <li> <a href="features.html">Features</a> </li> 101 <li> <a href="features.html">Features</a> </li>

Changes to pages/pragma.in

179 "incremental" back to "none" always requires running [VACUUM] even 179 "incremental" back to "none" always requires running [VACUUM] even 180 on an empty database. 180 on an empty database. 181 </p> 181 </p> 182 182 183 <p>^When the auto_vacuum pragma is invoked with no arguments, it 183 <p>^When the auto_vacuum pragma is invoked with no arguments, it 184 returns the current auto_vacuum mode.</p> 184 returns the current auto_vacuum mode.</p> 185 } 185 } > 186 > 187 Pragma busy_timeout { > 188 <p>^(<b>PRAGMA busy_timeout; > 189 <br>PRAGMA busy_timeout = </b><i>milliseconds</i><b>;</b></p> > 190 <p>Query or change the setting of the [sqlite3_busy_timeout | busy timeout]. > 191 This pragma is an alternative to the [sqlite3_busy_timeout()] C-language > 192 interface which is made available as a pragma for use with language > 193 bindings that do not provide direct access to [sqlite3_busy_timeout()]. > 194 } 186 195 187 Pragma cache_size { 196 Pragma cache_size { 188 <p>^(<b>PRAGMA cache_size; 197 <p>^(<b>PRAGMA cache_size; 189 <br>PRAGMA cache_size = </b><i>pages</i><b>; 198 <br>PRAGMA cache_size = </b><i>pages</i><b>; 190 <br>PRAGMA cache_size = -</b><i>kibibytes</i><b>;</b></p> 199 <br>PRAGMA cache_size = -</b><i>kibibytes</i><b>;</b></p> 191 <p>Query or change the suggested maximum number of database disk pages 200 <p>Query or change the suggested maximum number of database disk pages 192 that SQLite will hold in memory at once per open database file.)^ Whether 201 that SQLite will hold in memory at once per open database file.)^ Whether