# # Run this script to generated a changes.html output file # source common.tcl header {SQLite changes} puts {

This page provides a high-level summary of changes to SQLite. For more detail, refer the the checkin logs generated by CVS at http://www.sqlite.org/cvstrac/timeline.

} proc chng {date desc} { if {[regexp {\(([0-9.]+)\)} $date all vers]} { set label [string map {. _} $vers] puts "" } puts "
$date
" regsub -all {[Tt]icket #(\d+)} $desc \ {
\0} desc puts "

" puts "
" } chng {2007 July 20 (3.4.1)} {
  • Fix a bug in VACUUM that can lead to database corruption if two processes are connected to the database at the same time and one VACUUMs then the other then modifies the database.
  • The expression "+column" is now considered the same as "column" when computing the collating sequence to use on the expression.
  • In the TCL language interface, "@variable" instead of "$variable" always binds as a blob.
  • Added PRAGMA freelist_count for determining the current size of the freelist.
  • The PRAGMA auto_vacuum=incremental setting is now persistent.
  • Add FD_CLOEXEC to all open files under unix.
  • Fix a bug in the min()/max() optimization when applied to descending indices.
  • Make sure the TCL language interface works correctly with 64-bit integers on 64-bit machines.
  • Allow the value -9223372036854775808 as an integer literal in SQL statements.
  • Add the capability of "hidden" columns in virtual tables.
  • Use the macro SQLITE_PRIVATE (defaulting to "static") on all internal functions in the amalgamation.
  • Add pluggable tokenizers and ICU tokenization support to FTS2
  • Other minor bug fixes and documentation enhancements
  • } chng {2007 June 18 (3.4.0)} {
  • Fix a bug that can lead to database corruption if an SQLITE_BUSY error occurs in the middle of an explicit transaction and that transaction is later committed. Ticket #2409. See the CorruptionFollowingBusyError wiki page for details.
  • Fix a bug that can lead to database corruption if autovacuum mode is on and a malloc() failure follows a CREATE TABLE or CREATE INDEX statement which itself follows a cache overflow inside a transaction. See ticket #2418.
  • Added explicit upper bounds on the sizes and quantities of things SQLite can process. This change might cause compatibility problems for applications that use SQLite in the extreme, which is why the current release is 3.4.0 instead of 3.3.18.
  • Added support for Incremental BLOB I/O.
  • Added the zeroblob API and the zeroblob() SQL function.
  • Added support for Incremental Vacuum.
  • Added the SQLITE_MIXED_ENDIAN_64BIT_FLOAT compile-time option to suppport ARM7 processors with goofy endianness.
  • Removed all instances of sprintf() and strcpy() from the core library.
  • Added support for International Components for Unicode (ICU) to the full-text search extensions.

  • } footer {$Id:}