Small. Fast. Reliable.
Choose any three.
SQLite Release 3.8.6 On 2014-08-15
- Added support for hexadecimal integer literals in the SQL parser.
(Ex: 0x123abc)
- Enhanced the PRAGMA integrity_check command to detect UNIQUE and
NOT NULL constraint violations.
- Increase the maximum value of SQLITE_MAX_ATTACHED from 62 to 125.
- Increase the timeout in WAL mode before issuing an SQLITE_PROTOCOL
error from 1 second to 10 seconds.
- Added the likely(X) SQL function.
- The unicode61 tokenizer is now included in FTS4 by default.
- Trigger automatic reprepares on all prepared statements when ANALYZE is
run.
- Added a new
loadable extension source code file to the source tree:
fileio.c
- Add extension functions readfile(X) and writefile(X,Y)
(using code copy/pasted from fileio.c in the previous bullet) to the
command-line shell.
- 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 CRNL 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
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.