Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Updates to the change log for 3.17.0. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
90822d4b157a5c64640fc1c2de50e4bb |
User & Date: | drh 2017-02-04 15:16:01.601 |
Context
2017-02-04
| ||
16:22 | Update the preformance spreadsheet (check-in: 49eb6735bf user: drh tags: trunk) | |
15:16 | Updates to the change log for 3.17.0. (check-in: 90822d4b15 user: drh tags: trunk) | |
14:45 | Remove obsolete statements from the EXPLAIN QUERY PLAN documentation. (check-in: 735ffb4d2d user: drh tags: trunk) | |
Changes
Changes to pages/changes.in.
︙ | ︙ | |||
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | global nChng aChng xrefChng set aChng($nChng) [list $date $desc $options] set xrefChng($date) $nChng incr nChng } chng {2017-03-00 (3.17.0)} { <li>Add the [SQLITE_DEFAULT_LOOKASIDE] compile-time option. <li>Increase the default [lookaside memory allocator|lookaside] size from 512,125 to 1200,100 as this provides better performance while only adding 56KB of extra memory per connection. Memory-sensitive applications can restore the old default at compile-time, start-time, or run-time. <li>Change [SQLITE_DEFAULT_PCACHE_INITSZ] from 100 to 20, for improved performance. <li>Added the SQLITE_UINT64_TYPE compile-time option as an analog to SQLITE_INT64_TYPE. <li>Perform some [UPDATE] operations in a single pass instead of in two passes. | > > > > > > > > > > > > > > > > > | > > > > > | 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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | global nChng aChng xrefChng set aChng($nChng) [list $date $desc $options] set xrefChng($date) $nChng incr nChng } chng {2017-03-00 (3.17.0)} { <li>Performance enhancements in the [R-Tree extension]. <li>Add the [SQLITE_DEFAULT_LOOKASIDE] compile-time option. <li>Increase the default [lookaside memory allocator|lookaside] size from 512,125 to 1200,100 as this provides better performance while only adding 56KB of extra memory per connection. Memory-sensitive applications can restore the old default at compile-time, start-time, or run-time. <li>Added the [SQLITE_ENABLE_NULL_TRIM] compile-time option, which can result in significantly smaller database files for some applications, at the risk of being incompatible with older versions of SQLite. <li>Change [SQLITE_DEFAULT_PCACHE_INITSZ] from 100 to 20, for improved performance. <li>Added the SQLITE_UINT64_TYPE compile-time option as an analog to SQLITE_INT64_TYPE. <li>Perform some [UPDATE] operations in a single pass instead of in two passes. <li>Enhance the [session extension] to support [WITHOUT ROWID] tables. <li>Fixed performance problems and potential stack overflows when creating [views] from multi-row VALUES clauses with hundreds of thousands of rows. <li>Added the [https://www.sqlite.org/src/file/ext/misc/sha1.c|sha1.c] extension. <li>In the [command-line shell], enhance the ".mode" command so that it restores the default column and row separators for modes "line", "list", "column", and "tcl". <li>Enhance the [SQLITE_DIRECT_OVERFLOW_READ] option so that it works in [WAL mode] as long as the pages being read are not in the WAL file. <li>Other performance improvements. Uses about 6.5% fewer CPU cycles. <p><b>Bug Fixes:</b> <li>Throw an error if the ON clause of a LEFT JOIN references tables to the right of the ON clause. This is the same behavior as PostgreSQL. Formerly, SQLite silently converted the LEFT JOIN into an INNER JOIN. Fix for ticket [https://www.sqlite.org/src/info/25e335f802dd|25e335f802dd]. <li>Use the correct affinity for columns of automatic indexes. Ticket [https://www.sqlite.org/src/info/7ffd1ca1d2ad4ec|7ffd1ca1d2ad4ec]. <li>Ensure that the [sqlite3_blob_reopen()] interface can correctly handle short rows. Fix for ticket [https://www.sqlite.org/src/info/e6e962d6b0f06f46e|e6e962d6b0f06f46e]. } chng {2017-01-06 (3.16.2)} { <li>Fix the [REPLACE] statement for [WITHOUT ROWID] tables that lack secondary indexes so that it works correctly with triggers and foreign keys. This was a new bug caused by performance optimizations added in version 3.16.0. |
︙ | ︙ |
Changes to pages/compile.in.
︙ | ︙ | |||
889 890 891 892 893 894 895 896 897 898 899 900 901 902 | supply a large chunk of memory from which all memory allocations are taken. The MEMSYS5 module rounds all allocations up to the next power of two and uses a first-fit, buddy-allocator algorithm that provides strong guarantees against fragmentation and breakdown subject to certain operating constraints. } COMPILE_OPTION {SQLITE_ENABLE_PREUPDATE_HOOK} { This option enables [sqlite3_preupdate_hook|several new APIs] that provide callbacks prior to any change to a [rowid table]. The callbacks can be used to record the state of the row before the change occurs. <p>The action of the preupdate hook is similar to the | > > > > > > > > > > > > > > | 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 | supply a large chunk of memory from which all memory allocations are taken. The MEMSYS5 module rounds all allocations up to the next power of two and uses a first-fit, buddy-allocator algorithm that provides strong guarantees against fragmentation and breakdown subject to certain operating constraints. } COMPILE_OPTION {SQLITE_ENABLE_NULL_TRIM} { This option enables an optimization that omits NULL columns at the ends of rows, for a space savings on disk. <p> Databases generated with this option enabled are not readable by SQLite version 3.1.6 ([dateof:3.1.6]) and earlier. Also, databases generated with this option enabled are prone to triggering the [https://www.sqlite.org/src/info/e6e962d6b0f06f46e|e6e962d6b0f06f46] bug in the [sqlite3_blob_reopen()] interface. For those reasons, this optimization is disabled by default. However, this optimization may be enabled by default in a future release of SQLite. } COMPILE_OPTION {SQLITE_ENABLE_PREUPDATE_HOOK} { This option enables [sqlite3_preupdate_hook|several new APIs] that provide callbacks prior to any change to a [rowid table]. The callbacks can be used to record the state of the row before the change occurs. <p>The action of the preupdate hook is similar to the |
︙ | ︙ |