SQLite

3.7.3

Released on 8 Oct 2010
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.3 Changelog
  • Added the sqlite3_create_function_v2() interface that includes a destructor callback.
  • Added support for custom r-tree queries using application-supplied callback routines to define the boundary of the query region.
  • The default page cache strives more diligently to avoid using memory beyond what is allocated to it by SQLITE_CONFIG_PAGECACHE. Or if using page cache is allocating from the heap, it strives to avoid going over the sqlite3_soft_heap_limit64(), even if SQLITE_ENABLE_MEMORY_MANAGEMENT is not set.
  • Added the sqlite3_soft_heap_limit64() interface as a replacement for sqlite3_soft_heap_limit().
  • The ANALYZE command now gathers statistics on tables even if they have no indices.
  • Tweaks to the query planner to help it do a better job of finding the most efficient query plan for each query.
  • Enhanced the internal text-to-numeric conversion routines so that they work with UTF8 or UTF16, thereby avoiding some UTF16-to-UTF8 text conversions.
  • Fix a problem that was causing excess memory usage with large WAL transactions in win32 systems.
  • The interface between the VDBE and B-Tree layer is enhanced such that the VDBE provides hints to the B-Tree layer letting the B-Tree layer know when it is safe to use hashing instead of B-Trees for transient tables.
  • Miscellaneous documentation enhancements.