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.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: fe054454f33ade03a9d1b645e8ac18f384aa22aa1a52a37dd8a8f1b3e6a1f6b0
User & Date: drh 2017-06-29 14:47:30.351
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
Unified Diff Ignore Whitespace Patch
Changes to pages/changes.in.
16
17
18
19
20
21
22










































23
24
25
26
27
28
29
set nChng 0
proc chng {date desc {options {}}} {
  global nChng aChng xrefChng
  set aChng($nChng) [list $date $desc $options]
  set xrefChng($date) $nChng
  incr nChng
}











































chng {2017-06-17 (3.18.2)} {
<li>Fix a bug that might cause duplicate output rows when an IN operator is
    used in the WHERE clause.
    Ticket [https://sqlite.org/src/info/61fe9745|61fe9745].
<p><b>Hashes:</b>
<li>SQLITE_SOURCE_ID: "2017-06-17 09:59:36 036ebf729e4b21035d7f4f8e35a6f705e6bf99887889e2dc14ebf2242e7930dd"







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
set nChng 0
proc chng {date desc {options {}}} {
  global nChng aChng xrefChng
  set aChng($nChng) [list $date $desc $options]
  set xrefChng($date) $nChng
  incr nChng
}

chng {2017-08-31 (3.20.0)} {
<li> Added the LSM1 extension
<li> Added the stmt virtual table extension
<li> Enhancements to the [command-line shell]:
<ul>
<li> Add the ".cd" command.
<li> Enhance the ".schema" command to show the schema of all attached
     databases.
<li> Enhance ".tables" so that it shows the schema names for all attached
     if the name is anything other than "main".
<li> The ".import" command ignores an initial UTF-8 BOM.
</ul>
<li> Query planner enhancements:
<ul>
<li> When generating individual loops for each ORed term of an OR scan,
     move any constant WHERE expressions outside of the loop, as is 
     done for top-level loops.
<li> The query planner examines the values of bound parameters to help
     determine if a partial index is usable.
<li> When deciding between two plans with the same estimated cost, bias 
     the selection toward the one that does not use the sorter.
</ul>
<li> Add [SQLITE_STMTSTATUS_REPREPARE], [SQLITE_STMTSTATUS_RUN], 
     and [SQLITE_STMTSTATUS_MEMUSED] options for the
     [sqlite3_stmt_status()] interface.
<li> Provide eponymous virtual tables for
     [PRAGMA integrity_check], [PRAGMA quick_check], and
     [PRAGMA foreign_key_check].
<li> Add the -withoutnulls option to the [TCL interface eval method].
<li> Enhance the [sqlite3_analyzer.exe] utility program so that it shows
     the number of bytes of metadata on btree pages.
<li> The [SQLITE_DBCONFIG_ENABLE_QPSG] run-time option and the
     [SQLITE_ENABLE_QPSG] compile-time option enable the
     [query planner stability guarantee].  See also ticket
     [https://www.sqlite.org/src/info/892fc34f173e99d8|892fc34f173e99d8]
<p><b>Bug Fixes:</b>
<li> Ensure that the query planner knows that any column of a 
     [flattening optimization|flattened] LEFT JOIN can be NULL even 
     if that column is labeled with "NOT NULL". Fix for ticket 
     [https://sqlite.org/src/info/892fc34f173e99d8|892fc34f173e99d8].
}

chng {2017-06-17 (3.18.2)} {
<li>Fix a bug that might cause duplicate output rows when an IN operator is
    used in the WHERE clause.
    Ticket [https://sqlite.org/src/info/61fe9745|61fe9745].
<p><b>Hashes:</b>
<li>SQLITE_SOURCE_ID: "2017-06-17 09:59:36 036ebf729e4b21035d7f4f8e35a6f705e6bf99887889e2dc14ebf2242e7930dd"
Changes to pages/chronology.in.
24
25
26
27
28
29
30

31
32
33
34
35
36
37
#    ORDER BY mtime DESC;
#
# A small amount of manual editing and de-duplication followed.
#
# Manually edit the list for each subsequent release.
#      
foreach line [split {

036ebf729e|2017-06-17|version 3.18.2
77bb46233d|2017-06-16|version 3.18.1
0ee482a1e0|2017-06-08|version 3.19.3
edb4e819b0|2017-05-25|version 3.19.2
f6d7b988f4|2017-05-24|version 3.19.1
28a94eb282|2017-05-22|version 3.19.0
424a0d3803|2017-03-28|version 3.18.0







>







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







959
960
961
962
963
964
965
  [sqlite3_update_hook|update hook] except that the callback is
  invoked before the change, not afterwards, and the preupdate
  hook interfaces are omitted unless this compile-time option is
  used.
  <p>The preupdate hook interfaces were originally added to
  support the [session] extension.
}








COMPILE_OPTION {SQLITE_ENABLE_RBU} {
  Enable the code the implements the [RBU extension].
}

COMPILE_OPTION {SQLITE_ENABLE_RTREE} {
  This option causes SQLite to include support for the







>
>
>
>
>
>
>







952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
  [sqlite3_update_hook|update hook] except that the callback is
  invoked before the change, not afterwards, and the preupdate
  hook interfaces are omitted unless this compile-time option is
  used.
  <p>The preupdate hook interfaces were originally added to
  support the [session] extension.
}

COMPILE_OPTION {SQLITE_ENABLE_QPSG} {
  This option causes the [query planner stability guarantee] (QPSG) to
  be on by default.  Normally the QPSG is off and must be activated
  at run-time using the [SQLITE_DBCONFIG_ENABLE_QPSG] option to the
  [sqlite3_db_config()] interface.
}

COMPILE_OPTION {SQLITE_ENABLE_RBU} {
  Enable the code the implements the [RBU extension].
}

COMPILE_OPTION {SQLITE_ENABLE_RTREE} {
  This option causes SQLite to include support for the
Changes to pages/index.in.
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[full-featured SQL|full-featured], [public-domain],
SQL database engine.
SQLite is the [most used] database engine in the world.
<a class="button" href="about.html">More Info</a></p>

<hr class="xhr">
<span class="hdrfont">Latest Release:&nbsp;&nbsp;</span>
<a href="releaselog/3_19_3.html">Version 3.19.3</a> ([dateof:3.19.3]).
<a class="button" href="download.html">Download</a>
<a class="button" href="chronology.html">Prior Releases</a>

<div class="mobileonly">
<hr class="xhr">
<h3>Common Links</h3>
<tcl>common_links</tcl>







|







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[full-featured SQL|full-featured], [public-domain],
SQL database engine.
SQLite is the [most used] database engine in the world.
<a class="button" href="about.html">More Info</a></p>

<hr class="xhr">
<span class="hdrfont">Latest Release:&nbsp;&nbsp;</span>
<a href="releaselog/3_20_0.html">Version 3.20.0</a> ([dateof:3.19.3]).
<a class="button" href="download.html">Download</a>
<a class="button" href="chronology.html">Prior Releases</a>

<div class="mobileonly">
<hr class="xhr">
<h3>Common Links</h3>
<tcl>common_links</tcl>