Documentation Source Text

Check-in [fe054454f3]
Login

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

Overview
Comment:Initial draft of release notes for version 3.20.0.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: fe054454f33ade03a9d1b645e8ac18f384aa22aa1a52a37dd8a8f1b3e6a1f6b0
User & Date: drh 2017-06-29 14:47:30
Context
2017-06-29
14:53
Updates to the query planner stability guarantee description to make it clear that it is off by default. check-in: fa4e2ba5b2 user: drh tags: trunk
14:47
Initial draft of release notes for version 3.20.0. check-in: fe054454f3 user: drh tags: trunk
2017-06-26
14:43
Correction to the schema for the DBSTAT virtual table. check-in: a30aad4d5c user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to pages/changes.in.

    16     16   set nChng 0
    17     17   proc chng {date desc {options {}}} {
    18     18     global nChng aChng xrefChng
    19     19     set aChng($nChng) [list $date $desc $options]
    20     20     set xrefChng($date) $nChng
    21     21     incr nChng
    22     22   }
           23  +
           24  +chng {2017-08-31 (3.20.0)} {
           25  +<li> Added the LSM1 extension
           26  +<li> Added the stmt virtual table extension
           27  +<li> Enhancements to the [command-line shell]:
           28  +<ul>
           29  +<li> Add the ".cd" command.
           30  +<li> Enhance the ".schema" command to show the schema of all attached
           31  +     databases.
           32  +<li> Enhance ".tables" so that it shows the schema names for all attached
           33  +     if the name is anything other than "main".
           34  +<li> The ".import" command ignores an initial UTF-8 BOM.
           35  +</ul>
           36  +<li> Query planner enhancements:
           37  +<ul>
           38  +<li> When generating individual loops for each ORed term of an OR scan,
           39  +     move any constant WHERE expressions outside of the loop, as is 
           40  +     done for top-level loops.
           41  +<li> The query planner examines the values of bound parameters to help
           42  +     determine if a partial index is usable.
           43  +<li> When deciding between two plans with the same estimated cost, bias 
           44  +     the selection toward the one that does not use the sorter.
           45  +</ul>
           46  +<li> Add [SQLITE_STMTSTATUS_REPREPARE], [SQLITE_STMTSTATUS_RUN], 
           47  +     and [SQLITE_STMTSTATUS_MEMUSED] options for the
           48  +     [sqlite3_stmt_status()] interface.
           49  +<li> Provide eponymous virtual tables for
           50  +     [PRAGMA integrity_check], [PRAGMA quick_check], and
           51  +     [PRAGMA foreign_key_check].
           52  +<li> Add the -withoutnulls option to the [TCL interface eval method].
           53  +<li> Enhance the [sqlite3_analyzer.exe] utility program so that it shows
           54  +     the number of bytes of metadata on btree pages.
           55  +<li> The [SQLITE_DBCONFIG_ENABLE_QPSG] run-time option and the
           56  +     [SQLITE_ENABLE_QPSG] compile-time option enable the
           57  +     [query planner stability guarantee].  See also ticket
           58  +     [https://www.sqlite.org/src/info/892fc34f173e99d8|892fc34f173e99d8]
           59  +<p><b>Bug Fixes:</b>
           60  +<li> Ensure that the query planner knows that any column of a 
           61  +     [flattening optimization|flattened] LEFT JOIN can be NULL even 
           62  +     if that column is labeled with "NOT NULL". Fix for ticket 
           63  +     [https://sqlite.org/src/info/892fc34f173e99d8|892fc34f173e99d8].
           64  +}
    23     65   
    24     66   chng {2017-06-17 (3.18.2)} {
    25     67   <li>Fix a bug that might cause duplicate output rows when an IN operator is
    26     68       used in the WHERE clause.
    27     69       Ticket [https://sqlite.org/src/info/61fe9745|61fe9745].
    28     70   <p><b>Hashes:</b>
    29     71   <li>SQLITE_SOURCE_ID: "2017-06-17 09:59:36 036ebf729e4b21035d7f4f8e35a6f705e6bf99887889e2dc14ebf2242e7930dd"

Changes to pages/chronology.in.

    24     24   #    ORDER BY mtime DESC;
    25     25   #
    26     26   # A small amount of manual editing and de-duplication followed.
    27     27   #
    28     28   # Manually edit the list for each subsequent release.
    29     29   #      
    30     30   foreach line [split {
           31  +xxxxxxxxxx|pending|version 3.20.0
    31     32   036ebf729e|2017-06-17|version 3.18.2
    32     33   77bb46233d|2017-06-16|version 3.18.1
    33     34   0ee482a1e0|2017-06-08|version 3.19.3
    34     35   edb4e819b0|2017-05-25|version 3.19.2
    35     36   f6d7b988f4|2017-05-24|version 3.19.1
    36     37   28a94eb282|2017-05-22|version 3.19.0
    37     38   424a0d3803|2017-03-28|version 3.18.0

Changes to pages/compile.in.

   952    952     [sqlite3_update_hook|update hook] except that the callback is
   953    953     invoked before the change, not afterwards, and the preupdate
   954    954     hook interfaces are omitted unless this compile-time option is
   955    955     used.
   956    956     <p>The preupdate hook interfaces were originally added to
   957    957     support the [session] extension.
   958    958   }
          959  +
          960  +COMPILE_OPTION {SQLITE_ENABLE_QPSG} {
          961  +  This option causes the [query planner stability guarantee] (QPSG) to
          962  +  be on by default.  Normally the QPSG is off and must be activated
          963  +  at run-time using the [SQLITE_DBCONFIG_ENABLE_QPSG] option to the
          964  +  [sqlite3_db_config()] interface.
          965  +}
   959    966   
   960    967   COMPILE_OPTION {SQLITE_ENABLE_RBU} {
   961    968     Enable the code the implements the [RBU extension].
   962    969   }
   963    970   
   964    971   COMPILE_OPTION {SQLITE_ENABLE_RTREE} {
   965    972     This option causes SQLite to include support for the

Changes to pages/index.in.

    10     10   [full-featured SQL|full-featured], [public-domain],
    11     11   SQL database engine.
    12     12   SQLite is the [most used] database engine in the world.
    13     13   <a class="button" href="about.html">More Info</a></p>
    14     14   
    15     15   <hr class="xhr">
    16     16   <span class="hdrfont">Latest Release:&nbsp;&nbsp;</span>
    17         -<a href="releaselog/3_19_3.html">Version 3.19.3</a> ([dateof:3.19.3]).
           17  +<a href="releaselog/3_20_0.html">Version 3.20.0</a> ([dateof:3.19.3]).
    18     18   <a class="button" href="download.html">Download</a>
    19     19   <a class="button" href="chronology.html">Prior Releases</a>
    20     20   
    21     21   <div class="mobileonly">
    22     22   <hr class="xhr">
    23     23   <h3>Common Links</h3>
    24     24   <tcl>common_links</tcl>