SQLite

3.7.15

Released on 12 Dec 2012
Project description.

SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. The code for SQLite is in the public domain and is thus free for use for any purpose, commercial or private. SQLite is the most widely deployed database in the world with more applications than we can count, including several high-profile projects.

SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file. The database file format is cross-platform - you can freely copy a database between 32-bit and 64-bit systems or between big-endian and little-endian architectures. These features make SQLite a popular choice as an Application File Format.

SQLite 3.7.15 Changelog
  • Added the sqlite3_errstr() interface.
  • Avoid invoking the sqlite3_trace() callback multiple times when a statement is automatically reprepared due to SQLITE_SCHEMA errors.
  • Added support for Windows Phone 8 platforms
  • Enhance IN operator processing to make use of indices with numeric affinities.
  • Do full-table scans using covering indices when possible, under the theory that an index will be smaller and hence can be scanned with less I/O.
  • Enhance the query optimizer so that ORDER BY clauses are more aggressively optimized, especially in joins where various terms of the ORDER BY clause come from separate tables of the join.
  • Add the ability to implement FROM clause subqueries as coroutines rather that manifesting the subquery into a temporary table.
  • Enhancements the command-line shell:
    • Added the ".print" command
    • Negative numbers in the ".width" command cause right-alignment
    • Add the ".wheretrace" command when compiled with SQLITE_DEBUG
  • Added the busy_timeout pragma.
  • Added the instr() SQL function.
  • Added the SQLITE_FCNTL_BUSYHANDLER file control, used to allow VFS implementations to get access to the busy handler callback.
  • The xDelete method in the built-in VFSes now return SQLITE_IOERR_DELETE_NOENT if the file to be deleted does not exist.
  • Enhanced support for QNX.
  • Work around an optimizer bug in the MSVC compiler when targeting ARM.
  • Bug fix: Avoid various concurrency problems in shared cache mode.
  • Bug fix: Avoid a deadlock or crash if the backup API, shared cache, and the SQLite Encryption Extension are all used at once.
  • Bug fix: SQL functions created using the TCL interface honor the "nullvalue" setting.
  • Bug fix: Fix a 32-bit overflow problem on CREATE INDEX for databases larger than 16GB.
  • Bug fix: Avoid segfault when using the COLLATE operator inside of a CHECK constraint or view in shared cache mode.
  • SQLITE_SOURCE_ID: "2012-12-12 13:36:53 cd0b37c52658bfdf992b1e3dc467bae1835a94ae"
  • SHA1 for sqlite3.c: 2b413611f5e3e3b6ef5f618f2a9209cdf25cbcff"