Documentation Source Text

Check-in [4e0e4a8084]
Login

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

Overview
Comment:Further enhancements to the change log for 3.20.0.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 4e0e4a8084327c63ff4f1aa06a530a524c520d79f1ab648dea9d39ec726c52b2
User & Date: drh 2017-07-21 19:39:53.795
Context
2017-07-23
20:57
Improved documentation on the pointer-passing interfaces. (check-in: 9bf45f99e1 user: drh tags: trunk)
2017-07-21
19:39
Further enhancements to the change log for 3.20.0. (check-in: 4e0e4a8084 user: drh tags: trunk)
19:32
Add the enhanced ability for date/time functions to be deterministic to the change log and to the "deterministic function" documentation. (check-in: e27224b526 user: drh tags: trunk)
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to pages/changes.in.
75
76
77
78
79
80
81




82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97



98
99
100
101
102
103
104
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111







+
+
+
+
















+
+
+







     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.
<li> Evaluate WHERE clause constraints involving correlated subqueries
     last, in the hope that they never have be evaluated at all.
<li> Do not use the [flattening optimization] for a sub-query on the RHS 
     of a LEFT JOIN if that subquery reads data from a [virtual table] as
     doing so prevents the query planner from creating [automatic indexes]
     on the results of the sub-query, which can slow down the query.
</ul>
<li> Add [SQLITE_STMTSTATUS_REPREPARE], [SQLITE_STMTSTATUS_RUN], 
     and [SQLITE_STMTSTATUS_MEMUSED] options for the
     [sqlite3_stmt_status()] interface.
<li> Provide [PRAGMA functions] 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]
<li> Miscellaneous optimizations result in a 2% reduction in CPU cycles.
<p><b>Bug Fixes:</b>
<li> Fix the query planner so that it knows not to use [automatic indexes]
     on the right table of LEFT JOIN if the WHERE clause uses the [IS operator].
     Fix for [https://sqlite.org/src/info/ce68383bf6aba|ce68383bf6aba].
<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].
<li> Fix rare false-positives in [PRAGMA integrity_check] when run on a database connection
     with [ATTACH|attached databases]. Ticket
     [https://sqlite.org/src/info/a4e06e75a9ab61a12|a4e06e75a9ab61a12]