From: drh Date: Sat, 19 Mar 2005 14:45:48 +0000 (+0000) Subject: Preparations for the release of version 3.2.0. (CVS 2400) X-Git-Tag: version-3.6.10~3758 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=47b4b29b12681e1e6d2a2bcf5497238dc6b161ea;p=thirdparty%2Fsqlite.git Preparations for the release of version 3.2.0. (CVS 2400) FossilOrigin-Name: 90a00e90663749e5d1f8e28709dfbe981f8afc8b --- diff --git a/VERSION b/VERSION index 9cec7165ab..944880fa15 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.1.6 +3.2.0 diff --git a/manifest b/manifest index f279c63890..491fe35ede 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Fix\stypos\sin\sdocumentation.\s(CVS\s2399) -D 2005-03-19T03:41:58 +C Preparations\sfor\sthe\srelease\sof\sversion\s3.2.0.\s(CVS\s2400) +D 2005-03-19T14:45:49 F Makefile.in 5c00d0037104de2a50ac7647a5f12769795957a3 F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7 F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1 -F VERSION 4cc3959f8989cf586df7ed2c0b0829dfff828441 +F VERSION 2520423000707b82b67b4165b1b94c51ea9e04ac F aclocal.m4 7daea4c35e88de30d5a3f6f7a2ab99720e803bbd F art/SQLite.eps 9b43cc99cfd2be687d386faea6862ea68d6a72b2 F art/SQLite.gif 1bbb94484963f1382e27e1c5e86dd0c1061eba2b @@ -27,7 +27,7 @@ F sqlite.pc.in 30552343140c53304c2a658c080fbe810cd09ca2 F sqlite3.1 6be1ad09113570e1fc8dcaff84c9b0b337db5ffc F sqlite3.def dbaeb20c153e1d366e8f421b55a573f5dfc00863 F sqlite3.pc.in 985b9bf34192a549d7d370e0f0b6b34a4f61369a -F src/alter.c 85a23fc9a565c0e065d05d1d89744fcc6dee1c65 +F src/alter.c 8ee27ba2d09f26030c145a780ec8a93cd876d315 F src/attach.c 3615dbe960cbee4aa5ea300b8a213dad36527b0f F src/auth.c 18c5a0befe20f3a58a41e3ddd78f372faeeefe1f F src/btree.c 1d9b2179ccac13970c883da6ae3758cc72978bb0 @@ -79,7 +79,7 @@ F src/vdbe.c 086e4b42d57af68fceb8c04a6e4eed901777d942 F src/vdbe.h 7e307333d74e134eff237bb9d45fe764e544ad6a F src/vdbeInt.h e80721cd8ff611789e20743eec43363a9fb5a48e F src/vdbeapi.c 467caa6e6fb9247528b1c7ab9132ae1b4748e8ac -F src/vdbeaux.c 3c2f1d5df1ac21e20a9795f4a988f663b01f7b83 +F src/vdbeaux.c 91013922626fed75ad091459b7f05f9e86581690 F src/vdbemem.c 4e853ce3151eaf7906150da85a1b3ce1fe5e8da8 F src/where.c c4b227458e8993decb515ed9a2fe2d4f5f8e3125 F tclinstaller.tcl 046e3624671962dc50f0481d7c25b38ef803eb42 @@ -243,7 +243,7 @@ F www/autoinc.tcl b357f5ba954b046ee35392ce0f884a2fcfcdea06 F www/c_interface.tcl b51b08591554c16a0c3ef718364a508ac25abc7e F www/capi3.tcl 7a7cc225fe02eb7ab861a6019b08baa0014409e1 F www/capi3ref.tcl 59c7da9ef1f24dcb10b247cd3b7452cf76ab36f0 -F www/changes.tcl 8b78425c6eedbe457a0cdf461f94f165bfc2b77d +F www/changes.tcl 2a01ed8f51729365d190e5adbae7aee61499a6cc F www/common.tcl de758130d54d95d151ea0d17a2ae5b92e1bb01de F www/compile.tcl 65b26bdfc964b66c5f0af841718a52f9795ceb05 F www/conflict.tcl cdd0f4b59b0ba6d61f67e6a38f3ae45853bacb30 @@ -253,14 +253,14 @@ F www/copyright.tcl 82c9670c7ddb0311912ab7fe24703f33c531066c F www/datatype3.tcl 1d14f70ab73075556b95e76a5c13e5b03f7f6c47 F www/datatypes.tcl 7c786d2e8ff434346764534ec015966d17efce60 F www/different.tcl f9f573553f4b6854797120b9caba758ae7da240a -F www/docs.tcl 95f464d6ae02fe265a845ba60d44e053ab5cb5d5 +F www/docs.tcl 6c0b2c567404b15bd46a0cda2dc69615a8e679a8 F www/download.tcl 3af00c0e8fd915961707cddb4c2260f5cf59f3c1 F www/dynload.tcl 02eb8273aa78cfa9070dd4501dca937fb22b466c F www/faq.tcl 1e348dec52dc0f21f4216fd6918c69c56daa4cfd F www/fileformat.tcl 900c95b9633abc3dcfc384d9ddd8eb4876793059 -F www/formatchng.tcl bfbf14dbf5181e771d06da7797767b0200b36d8a -F www/index.tcl a53c9b092ab528cc4b9755ccd78e23ca796bafe0 -F www/lang.tcl 1f58511c7e59c5de26c9bf07c488584493dfab1d +F www/formatchng.tcl ec974d74a87f7ae69d0626848bfcf716865c3291 +F www/index.tcl d205e4f360829c2f2805b7d4c11f8b293e1f6bac +F www/lang.tcl 074e2d08fbe7c756988a9192856e962c8734f797 F www/lockingv3.tcl f59b19d6c8920a931f096699d6faaf61c05db55f F www/mingw.tcl d96b451568c5d28545fefe0c80bee3431c73f69c F www/nulls.tcl ec35193f92485b87b90a994a01d0171b58823fcf @@ -277,7 +277,7 @@ F www/tclsqlite.tcl e73f8f8e5f20e8277619433f7970060ab01088fc F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0 F www/whentouse.tcl 528299b8316726dbcc5548e9aa0648c8b1bd055b -P e53c77268cd16802bd8c6fc4c6cd5280dc12f9c1 -R 0d34799a6d013756241b74ca09f6edb9 +P aee888ca58a7d059ff3ccb26bf0924550d54ab1c +R c29caad866fc92d0ecab41a8c373b379 U drh -Z 79192b57d19e830ea2fe10543e7bbe47 +Z 879278758b279ffc4d2f1084c6b49b27 diff --git a/manifest.uuid b/manifest.uuid index d3d9ba8140..8880cabfe3 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -aee888ca58a7d059ff3ccb26bf0924550d54ab1c \ No newline at end of file +90a00e90663749e5d1f8e28709dfbe981f8afc8b \ No newline at end of file diff --git a/src/alter.c b/src/alter.c index c01219f211..58784622bf 100644 --- a/src/alter.c +++ b/src/alter.c @@ -12,7 +12,7 @@ ** This file contains C code routines that used to generate VDBE code ** that implements the ALTER TABLE command. ** -** $Id: alter.c,v 1.3 2005/03/17 05:03:39 danielk1977 Exp $ +** $Id: alter.c,v 1.4 2005/03/19 14:45:49 drh Exp $ */ #include "sqliteInt.h" #include @@ -444,7 +444,7 @@ void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ zCol = sqliteStrNDup(pColDef->z, pColDef->n); if( zCol ){ char *zEnd = &zCol[pColDef->n-1]; - while( zEnd>zCol && *zEnd==';' || isspace(*(unsigned char *)zEnd) ){ + while( (zEnd>zCol && *zEnd==';') || isspace(*(unsigned char *)zEnd) ){ *zEnd-- = '\0'; } sqlite3NestedParse(pParse, @@ -548,4 +548,3 @@ exit_begin_add_column: return; } #endif /* SQLITE_ALTER_TABLE */ - diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 3bce2cb7fc..fa67a41abf 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -273,7 +273,7 @@ void sqlite3VdbeChangeP3(Vdbe *p, int addr, const char *zP3, int n){ assert( p->magic==VDBE_MAGIC_INIT ); if( p==0 || p->aOp==0 ){ if( n==P3_DYNAMIC || n==P3_KEYINFO_HANDOFF ){ - sqliteFree(zP3); + sqliteFree((void*)zP3); } return; } diff --git a/www/changes.tcl b/www/changes.tcl index d0164042f1..4d4f96f7ea 100644 --- a/www/changes.tcl +++ b/www/changes.tcl @@ -21,6 +21,10 @@ proc chng {date desc} { puts "

    $desc

" } +chng {2005 March 19 (3.2.0)} { +
  • Added support for ALTER TABLE ADD COLUMN.
  • +} + chng {2005 March 16 (3.1.6)} {
  • Fix a bug that could cause database corruption when inserting record into tables with around 125 columns.
  • diff --git a/www/docs.tcl b/www/docs.tcl index 56ed15c2a8..981b2ab66f 100644 --- a/www/docs.tcl +++ b/www/docs.tcl @@ -1,7 +1,7 @@ # This script generates the "docs.html" page that describes various # sources of documentation available for SQLite. # -set rcsid {$Id: docs.tcl,v 1.10 2005/03/12 15:55:11 drh Exp $} +set rcsid {$Id: docs.tcl,v 1.11 2005/03/19 14:45:50 drh Exp $} source common.tcl header {SQLite Documentation} puts { @@ -128,5 +128,10 @@ doc {Compilation Options} {compile.html} { in order to reduce binary size. } +doc {Backwards Compatibility} {formatchng.html} { + This document details all of the incompatible changes to the SQLite + file format that have occurred since version 1.0.0. +} + puts {} footer $rcsid diff --git a/www/formatchng.tcl b/www/formatchng.tcl index fd1745db9a..f42d65f444 100644 --- a/www/formatchng.tcl +++ b/www/formatchng.tcl @@ -1,16 +1,18 @@ # # Run this Tcl script to generate the formatchng.html file. # -set rcsid {$Id: formatchng.tcl,v 1.12 2004/10/10 17:24:55 drh Exp $ } +set rcsid {$Id: formatchng.tcl,v 1.13 2005/03/19 14:45:50 drh Exp $ } source common.tcl header {File Format Changes in SQLite} puts {

    File Format Changes in SQLite

    -From time to time, enhancements or bug fixes require a change to -the underlying file format for SQLite. When this happens and you -want to upgrade your library, you must convert the contents of your +Every effort is made to keep SQLite fully backwards compatible from +one release to the next. Rarely, however, some +enhancements or bug fixes may require a change to +the underlying file format. When this happens and you +must convert the contents of your databases into a portable ASCII representation using the old version of the library then reload the data using the new version of the library. @@ -18,11 +20,16 @@ library.

    You can tell if you should reload your databases by comparing the -version numbers of the old and new libraries. If either of the -first two digits in the version number change, then a reload is -either required or recommended. For example, upgrading from -version 1.0.32 to 2.0.0 requires a reload. So does going from -version 2.0.8 to 2.1.0. +version numbers of the old and new libraries. If the first digit +of the version number is different, then a reload of the database will +be required. If the second digit changes, newer versions of SQLite +will be able to read and write older database files, but older versions +of the library may have difficulty reading or writing newer database +files. +For example, upgrading from +version 2.8.14 to 3.0.0 requires a reload. Going from +version 3.0.8 to 3.1.0 is backwards compatible but not necessarily +forwards compatible.

    @@ -54,7 +61,11 @@ occurred since version 1.0.0: The same basic B-Tree format is used but the details of the index keys were changed in order to provide better query optimization opportunities. Some of the headers were also changed in order - to increase the maximum size of a row from 64KB to 24MB. + to increase the maximum size of a row from 64KB to 24MB.

    + + This change is an exception to the version number rule described above + in that it is neither forwards or backwards compatible. A complete + reload of the database is required. This is the only exception. 2.1.7 to 2.2.0 @@ -168,14 +179,38 @@ occurred since version 1.0.0: 2.8.14 to 3.0.0 - (pending) + 2004-Jun-18

    Version 3.0.0 is a major upgrade for SQLite that incorporates support for UTF-16, BLOBs, and a more compact encoding that results - in database files that are typically 25% to 35% smaller. The new file - format is radically different and completely incompatible with the + in database files that are typically 25% to 50% smaller. The new file + format is very different and is completely incompatible with the version 2 file format.

    + + 3.0.8 to 3.1.0 + 2004-Jan-21 +

    Version 3.1.0 adds support for + autovacuum mode. + Prior versions of SQLite will be able to read and autovacuumed + database but will not be able to write it. If autovaccum is disabled + (which is the default condition) + then databases are fully forwards and backwards compatible.

    + + + + 3.1.6 to 3.2.0 + 2004-Mar-19 +

    Version 3.2.0 adds support for the + ALTER TABLE ADD COLUMN + command. A database that has been modified by this command can + not be read by a version of SQLite prior to 3.1.4. Running + VACUUM + after the ALTER TABLE + restores the database to a format such that it can be read by earlier + SQLite versions.

    + + @@ -190,7 +225,7 @@ this is as follows:

    - echo .dump | sqlite-old old.db | sqlite-new new.db + sqlite-old old.db .dump | sqlite-new new.db
    } footer $rcsid diff --git a/www/index.tcl b/www/index.tcl index 62590caf9b..12b58c493e 100644 --- a/www/index.tcl +++ b/www/index.tcl @@ -61,6 +61,10 @@ proc newsitem {date title text} { puts "
    " } +newsitem {2005-Mar-19} {Version 3.2.0} { + Version 3.2.0 adds support for ALTER TABLE ADD COLUMN. +} + newsitem {2005-Mar-16} {Version 3.1.6} { Version 3.1.6 fixes a critical bug that can cause database corruption when inserting rows into tables with around 125 columns. This bug was @@ -91,4 +95,4 @@ puts {

    Old news...

    } -footer {$Id: index.tcl,v 1.111 2005/03/17 03:33:17 drh Exp $} +footer {$Id: index.tcl,v 1.112 2005/03/19 14:45:50 drh Exp $} diff --git a/www/lang.tcl b/www/lang.tcl index c85266340d..cd80e90dbf 100644 --- a/www/lang.tcl +++ b/www/lang.tcl @@ -1,7 +1,7 @@ # # Run this Tcl script to generate the lang-*.html files. # -set rcsid {$Id: lang.tcl,v 1.86 2005/03/19 01:41:22 drh Exp $} +set rcsid {$Id: lang.tcl,v 1.87 2005/03/19 14:45:50 drh Exp $} source common.tcl if {[llength $argv]>0} { @@ -181,6 +181,10 @@ statement, with the following restrictions: the amount of data in the table. The ALTER TABLE command runs as quickly on a table with 10 million rows as it does on a table with 1 row.

    + +

    After ADD COLUMN has been run on a database, that database will not +be readable by SQLite version 3.1.3 and earlier until the database +is VACUUMed.

    } Section {ATTACH DATABASE} attach