SQLite Release 3.8.6 On 2014-08-15

Added the .fullschema dot-command to the command-line shell.

Performance Enhancements:

  • Deactivate the DISTINCT keyword on subqueries on the right-hand side of the IN operator.
  • Add the capability of evaluating an IN operator as a sequence of comparisons as an alternative to using a table lookup. Use the sequence of comparisons implementation in circumstances where it is likely to be faster, such as when the right-hand side of the IN operator is small and/or changes frequently.
  • The query planner now uses sqlite_stat4 information (created by ANALYZE) to help determine if the skip-scan optimization is appropriate.
  • Ensure that the query planner never tries to use a self-made transient index in place of a schema-defined index.
  • Other minor tweaks to improve the quality of VDBE code.

    Bug Fixes:

  • Fix a bug in CREATE UNIQUE INDEX, introduced when WITHOUT ROWID support added in version 3.8.2, that allows a non-unique NOT NULL column to be given a UNIQUE index. Ticket 9a6daf340df99ba93c
  • Fix a bug in R-Tree extension, introduced in the previous release, that can cause an incorrect results for queries that use the rowid of the R-Tree on the left-hand side of an IN operator. Ticket d2889096e7bdeac6.
  • Fix the sqlite3_stmt_busy() interface so that it gives the correct answer for ROLLBACK statements that have been stepped but never reset.
  • Fix a bug in that would cause a null pointer to be dereferenced if a column with a DEFAULT that is an aggregate function tried to usee its DEFAULT. Ticket 3a88d85f36704eebe1
  • CSV output from the command-line shell now always uses CRLF for the row separator and avoids inserting CR in front of NLs contained in data.
  • Fix a column affinity problem with the IN operator. Ticket 9a8b09f8e6.
  • Fix the ANALYZE command so that it adds correct samples for WITHOUT ROWID tables in the sqlite_stat4 table. Ticket b2fa5424e6fcb15.
  • SQLITE_SOURCE_ID: "2014-08-15 11:46:33 9491ba7d738528f168657adb43a198238abde19e"
  • SHA1 for sqlite3.c: 72c64f05cd9babb9c0f9b3c82536d83be7804b1c