SQLite

3.3.3

Released on 31 Jan 2006
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.3.3 Changelog
  • Removed support for an ON CONFLICT clause on CREATE INDEX - it neverworked correctly so this should not present any backward compatibilityproblems.
  • Authorizer callback now notified of ALTER TABLE ADD COLUMN commands
  • After any changes to the TEMP database schema, all prepared statementsare invalidated and must be recreated using a new call tosqlite3_prepare()
  • Other minor bug fixes in preparation for the first stable releaseof version 3.3

2006-01-24 (3.3.2 beta)

  • Bug fixes and speed improvements. Improved test coverage.
  • Changes to the OS-layer interface: mutexes must now be recursive.
  • Discontinue the use of thread-specific data for out-of-memoryexception handling

2006-01-16 (3.3.1 alpha)

  • Countless bug fixes
  • Speed improvements
  • Database connections can now be used by multiple threads, not justthe thread in which they were created.

2006-01-10 (3.3.0 alpha)

  • CHECK constraints
  • IF EXISTS and IF NOT EXISTS clauses on CREATE/DROP TABLE/INDEX.
  • DESC indices
  • More efficient encoding of boolean values resulting in smaller databasefiles
  • More aggressive SQLITE_OMIT_FLOATING_POINT
  • Separate INTEGER and REAL affinity
  • Added a virtual function layer for the OS interface
  • "exists" method added to the TCL interface
  • Improved response to out-of-memory errors
  • Database cache can be optionally shared between connectionsin the same thread
  • Optional READ UNCOMMITTED isolation (instead of the defaultisolation level of SERIALIZABLE) and table level locking whendatabase connections share a common cache.