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.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 4e0e4a8084327c63ff4f1aa06a530a524c520d79f1ab648dea9d39ec726c52b2
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
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

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]