SQLite 3.8.5 ,嵌入式数据库引擎




SQLite 3.8.5 发布,此版本现已提供下载,主要更新内容如下:

  • Added support for partial sorting by index.
  • Enhance the query planner so that it always prefers an index that uses a superset of    WHERE clause terms relative to some other index.
  • Improvements to the automerge command of FTS4 to better control the index size    for a full-text index that is subject to a large number of updates.
  • Added the sqlite3_rtree_query_callback() interface to R-Tree extension
  • Added new URI query parameters “nolock” and “immutable”.
  • Use less memory by not remembering CHECK constraints on read-only    database connections.
  • Enable the OR optimization for WITHOUT ROWID tables.
  • Render expressions of the form “x IN (?)” (with a single value in    the list on the right-hand side of the IN operator) as if they where “x==?”,    Similarly optimize “x NOT IN (?)”
  • Add the “.system” and “.once” commands to the command-line shell.
  • Added the SQLITE_IOCAP_IMMUTABLE bit to the set of bits that can be returned by    the xDeviceCharacteristics method of a VFS.
  • Added the SQLITE_TESTCTRL_BYTEORDER test control.


Bug 修复:

  • OFFSET clause ignored on queries without a FROM clause. Ticket 07d6a0453d
  • Assertion fault on queries involving expressions of the form  “x IN (?)”.  Ticket e39d032577.
  • Incorrect column datatype reported.    Ticket a8a0d2996a
  • Duplicate row returned on a query against a table with more than  16 indices, each on a separate column, and all used via OR-connected constraints.    Ticket 10fb063b11
  • Partial index causes assertion fault on UPDATE OR REPLACE.    Ticket 2ea3e9fe63
  • Crash when calling undocumented SQL function sqlite_rename_parent()    with NULL parameters.    Ticket 264b970c43
  • ORDER BY ignored if the query has an identical GROUP BY.  Ticket b75a9ca6b0
  • The group_concat(x,”) SQL function returns NULL instead of an empty string when all inputs are empty strings.      Ticket 55746f9e65
  • Fix a bug in the VDBE code generator that caused crashes when doing an INSERT INTO … SELECT statement where the number of columns    being inserted is larger than the number of columns in the destination    table.    Ticket e9654505cfd
  • Fix a problem in CSV import in the command-line shell    where if the leftmost field of the first row    in the CSV file was both zero bytes in size and unquoted no data would    be imported.
  • Fix a problem in FTS4 where the left-most column that contained    the notindexed column name as a prefix    was not indexed rather than the column whose name matched exactly.
  • Fix the sqlite3_db_readonly() interface so that it returns true if  the database is read-only due to the file format write version number being too large.