 
Small. Fast. Reliable.
Choose any three.
 
SQLite Release 3.16.2 On 2017-01-06
- Fix the REPLACE statement for 
    WITHOUT ROWID tables that lack secondary indexes so that
    it works correctly with triggers and foreign keys.  This was a new bug
    caused by performance optimizations added in version 3.16.0.
    Ticket 30027b613b4
- Fix the sqlite3_value_text() interface so that it correctly
    translates content generated by zeroblob() into a string of all
    0x00 characters.  This is a long-standing issue discovered after the
    3.16.1 release by OSS-Fuzz
- Fix the bytecode generator to deal with a subquery in the FROM clause
    that is itself a UNION ALL where one side of the UNION ALL is a view
    that contains an ORDER BY.  This is a long-standing issue that was
    discovered after the release of 3.16.1.  See ticket
    190c2507.
- Adjust the sqlite3_column_count() API so it more often returns the same
    values for PRAGMA statements as it did in prior releases, to
    minimize disruption to applications that might be using that
    interface in unexpected ways.
Hashes:
 
- SQLITE_SOURCE_ID: "2017-01-06 16:32:41 a65a62893ca8319e89e48b8a38cf8a59c69a8209"
- SHA1 for sqlite3.c: 2bebdc3f24911c0d12b6d6c0123c3f84d6946b08
Changes carried forward from version 3.16.1 (2017-01-03):
- Fix a bug concerning the use of row values within triggers
    (see ticket 8c9458e7)
    that was in version 3.15.0 but was not reported until moments after the 3.16.0
    release was published.
Changes carried forward from version 3.16.0 (2017-01-02):
      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.