 
Small. Fast. Reliable.
Choose any three.
 
SQLite Release 3.14.2 On 2016-09-12
-  Improved support for using the STDCALL calling convention in winsqlite3.dll.
-  Fix the sqlite3_trace_v2() interface so that it is disabled if either the
callback or the mask arguments are zero, in accordance with the documentation.
-  Fix commenting errors and improve the comments generated on EXPLAIN listings
when the -DSQLITE_ENABLE_EXPLAIN_COMMENTS compile-time option is used.
-  Fix the ".read" command in the command-line shell so that it understands
that its input is not interactive.
-  Correct affinity computations for a SELECT on the RHS of an IN operator.
Fix for ticket 199df4168c.
-  The ORDER BY LIMIT optimization is not valid unless the inner-most IN operator 
loop is actually used by the query plan. Fix for
ticket 0c4df46116e90f92.
-  Fix an internal code generator problem that was causing some DELETE operations
to no-op.  Ticket ef360601
Hashes:
 
- SQLITE_SOURCE_ID: "2016-09-12 18:50:49 29dbef4b8585f753861a36d6dd102ca634197bd6"
- SHA1 for sqlite3.c: bcc4a1989db45e7f223191f2d0f66c1c28946383
Changes carried forward from version 3.14.1 (2016-08-11):
- A performance enhancement to the page-cache "truncate" operation
    reduces COMMIT time by dozens of milliseconds on systems with a
    large page cache.
- Fix to the --rbu option of sqldiff.
Changes carried forward from version 3.14 (2016-08-08):
 Celebrating the SQLite "π release"
with a home-baked pie.
Celebrating the SQLite "π release"
with a home-baked pie.
 
- Added support for WITHOUT ROWID virtual tables.
- Improved the query planner so that the OR optimization can
    be used on virtual tables even if one or more of the disjuncts
    use the LIKE, GLOB, REGEXP, MATCH operators.
- Added the CSV virtual table for reading
    RFC 4180 formatted comma-separated
    value files.
- Added the carray() table-valued function extension.
- Enabled persistent loadable extensions using the new
    SQLITE_OK_LOAD_PERMANENTLY return code from the extension
    entry point.
- Added the SQLITE_DBSTATUS_CACHE_USED_SHARED option to sqlite3_db_status().
- Add the 
    vfsstat.c
    loadable extension - a VFS shim that measures I/O
    together with an eponymous virtual table that provides access to the measurements.
- Improved algorithm for running queries with both an ORDER BY and a LIMIT where
    only the inner-most loop naturally generates rows in the correct order.
- Enhancements to Lemon parser generator, so that it generates a
    faster parser.
- The PRAGMA compile_options command now attempts to show the version number
    of the compiler that generated the library.
- Enhance PRAGMA table_info so that it provides information about
    eponymous virtual tables.
- Added the "win32-none" VFS, analogous to the "unix-none" VFS, that works like
    the default "win32" VFS except that it ignores all file locks.
- The query planner uses a full scan of a partial index instead of a 
    full scan of the main table, in cases where that makes sense.
- Allow table-valued functions to appear on the right-hand side of an IN operator.
- Created the dbhash.exe command-line utility.
- Added two new C-language interfaces: sqlite3_expanded_sql() and
    sqlite3_trace_v2().  These new interfaces subsume the functions of
    sqlite3_trace() and sqlite3_profile() which are now deprecated.
- Added the json_quote() SQL function to the json1 extension.
- Disable the authorizer callback while reparsing the schema.
- Added the SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option and turned that
    option on by default when building the command-line shell.
Bug Fixes:
 
- Fix the ALTER TABLE command so that it does not corrupt descending indexes
    when adding a column to a legacy file format database.  Ticket
    f68bf68513a1c15f
- Fix a NULL-pointer dereference/crash that could occurs when a transitive WHERE
    clause references a non-existent collating sequence.  Ticket
    e8d439c77685eca6.
- Improved the cost estimation for an index scan which includes a WHERE clause
    that can be partially or fully evaluated using columns in the index and without
    having to do a table lookup.  This fixes a performance regression that occurred
    for some obscure queries following the ORDER BY LIMIT optimization introduced
    in version 3.12.0.
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.