Released on 14 May 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.12 Changelog
  • Add the SQLITE_DBSTATUS_CACHE_WRITE option for sqlite3_db_status().
  • Optimize the typeof() and length() SQL functions so that they avoid unnecessary reading of database content from disk.
  • Add the FTS4 "merge" command, the FTS4 "automerge" command, and the FTS4 "integrity-check" command.
  • Report the name of specific CHECK constraints that fail.
  • In the command-line shell, use popen() instead of fopen() if the first character of the argument to the ".output" command is "|".
  • Make use of OVERLAPPED in the windows VFS to avoid some system calls and thereby obtain a performance improvement.
  • More aggressive optimization of the AND operator when one side or the other is always false.
  • Improved performance of queries with many OR-connected terms in the WHERE clause that can all be indexed.
  • Add the SQLITE_RTREE_INT_ONLY compile-time option to force the R*Tree Extension Module to use integer instead of floating point values for both storage and computation.
  • Enhance the PRAGMA integrity_check command to use much less memory when processing multi-gigabyte databases.
  • New interfaces added to the test_quota.c add-on module.
  • Added the ".trace" dot-command to the command-line shell.
  • Allow virtual table constructors to be invoked recursively.
  • Improved optimization of ORDER BY clauses on compound queries.
  • Improved optimization of aggregate subqueries contained within an aggregate query.
  • Bug fix: Fix the RELEASE command so that it does not cancel pending queries. This repairs a problem introduced in 3.7.11.
  • Bug fix: Do not discard the DISTINCT as superfluous unless a subset of the result set is subject to a UNIQUE constraint and it none of the columns in that subset can be NULL. Ticket 385a5b56b9.
  • Bug fix: Do not optimize away an ORDER BY clause that has the same terms as a UNIQUE index unless those terms are also NOT NULL. Ticket 2a5629202f.
  • SQLITE_SOURCE_ID: "2012-05-14 01:41:23 8654aa9540fe9fd210899d83d17f3f407096c004"
  • SHA1 for sqlite3.c: 57e2104a0f7b3f528e7f6b7a8e553e2357ccd2e1