Released on 12 Nov 2008
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.6.5 Changelog
  • Add the MEMORY option to the journal_mode pragma.
  • Added the sqlite3_db_mutex() interface.
  • Added the SQLITE_OMIT_TRUNCATE_OPTIMIZATION compile-time option.
  • Fixed the truncate optimization so that sqlite3_changes() and sqlite3_total_changes() interfaces and the count_changes pragma return the correct values.
  • Added the sqlite3_extended_errcode() interface.
  • The COMMIT command now succeeds even if there are pending queries. It returns SQLITE_BUSY if there are pending incremental BLOB I/O requests.
  • The error code is changed to SQLITE_BUSY (instead of SQLITE_ERROR) when an attempt is made to ROLLBACK while one or more queries are still pending.
  • Drop all support for the experimental memory allocators memsys4 and memsys6.
  • Added the SQLITE_ZERO_MALLOC compile-time option.