Small. Fast. Reliable.
Choose any three.
SQLite Release 3.19.1 On 2017-05-24
- Fix a bug in the LEFT JOIN flattening optimization. Ticket
cad1ab4cb7b0fc.
- Remove a surplus semicolon that was causing problems for older versions of MSVC.
Hashes:
- SQLITE_SOURCE_ID: "2017-05-24 13:08:33 f6d7b988f40217821a382bc298180e9e6794f3ed79a83c6ef5cae048989b3f86"
- SHA3-256 for sqlite3.c: 996b2aff37b6e0c6663d0312cd921bbdf6826c989cbbb07dadde5e9672889bca
Changes carried forward from version 3.19.0 (2017-05-22):
- The SQLITE_READ authorizer callback is invoked once
with a column name that is an empty string
for every table referenced in a query from which no columns are extracted.
- When using an index on an expression, try to use expression values already
available in the index, rather than loading the original columns and recomputing
the expression.
- Enhance the flattening optimization so that it is able to flatten views
on the right-hand side of a LEFT JOIN.
- Use replace() instead of char() for escaping newline and carriage-return
characters embedded in strings in the .dump output from the command-line shell.
- Avoid unnecessary foreign key processing in UPDATE statements that do not
touch the columns that are constrained by the foreign keys.
- On a DISTINCT query that uses an index, try to skip ahead to the next distinct
entry using the index rather than stepping through rows, when an appropriate
index is available.
- Avoid unnecessary invalidation of sqlite3_blob handles when making
changes to unrelated tables.
- Transfer any terms of the HAVING clause that use only columns mentioned in
the GROUP BY clause over to the WHERE clause for faster processing.
- Reuse the same materialization of a VIEW if that VIEW appears more than
once in the same query.
- Enhance PRAGMA integrity_check so that it identifies tables that have two
or more rows with the same rowid.
- Enhance the FTS5 query syntax so that column filters
may be applied to arbitrary expressions.
- Enhance the json_extract() function to cache and reuse parses of JSON
input text.
- Added the anycollseq.c
loadable extension that allows a generic SQLite database connection to
read a schema that contains unknown and/or
application-specific collating sequences.
Bug Fixes:
- Fix a problem in REPLACE that can result in a corrupt database containing
two or more rows with the same rowid. Fix for ticket
f68dc596c4e6018d.
- Fix a problem in PRAGMA integrity_check that was causing a subsequent
VACUUM to behave suboptimally.
- Fix the PRAGMA foreign_key_check command so that it works correctly with
foreign keys on WITHOUT ROWID tables.
- Disallow leading zeros in numeric constants in JSON. Fix for ticket
b93be8729a895a528e2.
- Disallow control characters inside of strings in JSON. Fix for ticket
6c9b5514077fed34551.
- Limit the depth of recursion for JSON objects and arrays in order to avoid
excess stack usage in the recursive descent parser. Fix for ticket
981329adeef51011052.
A complete list of SQLite releases
in a single page and a chronology are both also available.
A detailed history of every
check-in is available at
SQLite version control site.