Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Further enhancements to the change log for 3.20.0. |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
4e0e4a8084327c63ff4f1aa06a530a52 |
User & Date: | drh 2017-07-21 19:39:53 |
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
Changes to pages/changes.in.
75 75 done for top-level loops. 76 76 <li> The query planner examines the values of bound parameters to help 77 77 determine if a partial index is usable. 78 78 <li> When deciding between two plans with the same estimated cost, bias 79 79 the selection toward the one that does not use the sorter. 80 80 <li> Evaluate WHERE clause constraints involving correlated subqueries 81 81 last, in the hope that they never have be evaluated at all. 82 +<li> Do not use the [flattening optimization] for a sub-query on the RHS 83 + of a LEFT JOIN if that subquery reads data from a [virtual table] as 84 + doing so prevents the query planner from creating [automatic indexes] 85 + on the results of the sub-query, which can slow down the query. 82 86 </ul> 83 87 <li> Add [SQLITE_STMTSTATUS_REPREPARE], [SQLITE_STMTSTATUS_RUN], 84 88 and [SQLITE_STMTSTATUS_MEMUSED] options for the 85 89 [sqlite3_stmt_status()] interface. 86 90 <li> Provide [PRAGMA functions] for 87 91 [PRAGMA integrity_check], [PRAGMA quick_check], and 88 92 [PRAGMA foreign_key_check]. ................................................................................ 91 95 the number of bytes of metadata on btree pages. 92 96 <li> The [SQLITE_DBCONFIG_ENABLE_QPSG] run-time option and the 93 97 [SQLITE_ENABLE_QPSG] compile-time option enable the 94 98 [query planner stability guarantee]. See also ticket 95 99 [https://www.sqlite.org/src/info/892fc34f173e99d8|892fc34f173e99d8] 96 100 <li> Miscellaneous optimizations result in a 2% reduction in CPU cycles. 97 101 <p><b>Bug Fixes:</b> 102 +<li> Fix the query planner so that it knows not to use [automatic indexes] 103 + on the right table of LEFT JOIN if the WHERE clause uses the [IS operator]. 104 + Fix for [https://sqlite.org/src/info/ce68383bf6aba|ce68383bf6aba]. 98 105 <li> Ensure that the query planner knows that any column of a 99 106 [flattening optimization|flattened] LEFT JOIN can be NULL even 100 107 if that column is labeled with "NOT NULL". Fix for ticket 101 108 [https://sqlite.org/src/info/892fc34f173e99d8|892fc34f173e99d8]. 102 109 <li> Fix rare false-positives in [PRAGMA integrity_check] when run on a database connection 103 110 with [ATTACH|attached databases]. Ticket 104 111 [https://sqlite.org/src/info/a4e06e75a9ab61a12|a4e06e75a9ab61a12]