 
Small. Fast. Reliable.
Choose any three.
 
SQLite Release 3.19.2 On 2017-05-25
- Fix more bugs in the LEFT JOIN flattening optimization. Ticket
    7fde638e94287d2c.
Hashes:
 
- SQLITE_SOURCE_ID: "2017-05-25 16:50:27 edb4e819b0c058c7d74d27ebd14cc5ceb2bad6a6144a486a970182b7afe3f8b9"
- SHA3-256 for sqlite3.c: 1be0c457869c1f7eba58c3b5097b9ec307a15be338308bee8e5be8570bcf5d1e
Changes carried forward from version 3.19.1 (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.
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.
-  Fix a bug in the b-tree logic that can result in incorrect duplicate answers
     for IN operator queries.  Ticket
     61fe9745
-  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.