SQLite

3.8.4

Released on 10 Mar 2014
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.8.4 Changelog
  • Code optimization and refactoring for improved performance.
  • Add the ".clone" and ".save" commands to the command-line shell.
  • Update the banner on the command-line shell to alert novice users when they are using an ephemeral in-memory database.
  • Fix editline support in the command-line shell.
  • Add support for coverage testing of VDBE programs using the SQLITE_TESTCTRL_VDBE_COVERAGE verb of sqlite3_test_control().
  • Update the _FILE_OFFSET_BITS macro so that builds work again on QNX.
  • Change the datatype of SrcList.nSrc from type u8 to type int to work around an issue in the C compiler on AIX.
  • Get extension loading working on Cygwin.
  • Bug fix: Fix the char() SQL function so that it returns an empty string rather than an "out of memory" error when called with zero arguments.
  • Bug fix: DISTINCT now recognizes that a zeroblob and a blob of all 0x00 bytes are the same thing. Ticket [fccbde530a]
  • Bug fix: Compute the correct answer for queries that contain an IS NOT NULL term in the WHERE clause and also contain an OR term in the WHERE clause and are compiled with SQLITE_ENABLE_STAT4. Ticket [4c86b126f2]
  • Bug fix: Make sure "rowid" columns are correctly resolved in joins between normal tables and WITHOUT ROWID tables. Ticket [c34d0557f7]
  • Bug fix: Make sure the same temporary registers are not used in concurrent co-routines used to implement compound SELECT statements containing ORDER BY clauses, as such use can lead to incorrect answers. Ticket [8c63ff0eca]
  • Bug fix: Ensure that "ORDER BY random()" clauses do not get optimized out. Ticket [65bdeb9739]
  • Bug fix: Repair a name-resolution error that can occur in sub-select statements contained within a TRIGGER. Ticket [4ef7e3cfca]
  • Bug fix: Fix column default values expressions of the form "DEFAULT(-(-9223372036854775808))" so that they work correctly, initializing the column to a floating point value approximately equal to +9223372036854775808.0.
  • SQLITE_SOURCE_ID: "2014-03-10 12:20:37 530a1ee7dc2435f80960ce4710a3c2d2bfaaccc5"
  • SHA1 for sqlite3.c: b0c22e5f15f5ba2afd017ecd990ea507918afe1c