diff --git a/manifest b/manifest index 983e3d7866..267623d154 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Remove\sthe\sdependency\son\sthe\sdirect\sbtree\sinterface\sfrom\sas\smany\stest\nscripts\sas\sis\spractical.\s\sFix\sa\sbug\sin\sthe\soutput\slimiter\sof\sthe\nintegrity_check\spragma\sthat\scame\sup\swhile\smaking\sthis\schange.\s(CVS\s4880) -D 2008-03-19T00:21:31 +C When\sa\sparse\sof\sthe\ssqlite_master\stable\sfails,\sinclude\sthe\sname\sof\sthe\nobject\sbeing\sparsed\sas\spart\sof\sthe\serror\smessage.\s(CVS\s4881) +D 2008-03-19T13:03:34 F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7 F Makefile.in 5be94fea84f1599672e5041de03b97990baca593 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -133,7 +133,7 @@ F src/pager.c 2ebd895730163721d0b470aca47afbe28039c5e7 F src/pager.h 8174615ffd14ccc2cad2b081b919a398fa95e3f9 F src/parse.y 00f2698c8ae84f315be5e3f10b63c94f531fdd6d F src/pragma.c 09128fe3e2b5108d322a66b19a6f2974dac64479 -F src/prepare.c 62e46b1951ff80efca0c35ae1c4bb58a9d24df7f +F src/prepare.c 88e32e985921e9fb5d3ca22ccc74e054ebfe49f2 F src/printf.c eb27822ba2eec669161409ca31279a24c26ac910 F src/random.c 02ef38b469237482f1ea14a78b2087cfbaec48bd F src/select.c d0a1e01a2a6c05bd60324e843c7e4581d3605950 @@ -172,7 +172,7 @@ F src/tokenize.c c4b79fd48ddb709b2b8522b7d93a5a3d98168ca4 F src/trigger.c 9bd3b6fa0beff4a02d262c96466f752ec15a7fc3 F src/update.c 9b3be169cd2a0b065717164aa0f90aa48f34aed1 F src/utf.c 32b00d6e19010025e58f2ecb2f921d5e126771b4 -F src/util.c c56e41ed4769c1f2b8af9ffde4757a7b4fb08ed1 +F src/util.c dba9e04121eb17ec4643d6ca231ff859452cf0e2 F src/vacuum.c 3f34f278809bf3eb0b62ec46ff779e9c385b28f0 F src/vdbe.c c63fcb1c1259e59477f1312e0a868d148f23a148 F src/vdbe.h 58a7d931ffb704e034b2a725981cfa5bd406fad9 @@ -191,7 +191,7 @@ F test/alter.test 1426bb4c8609731622a9bf9dd48c39f5931c4d7d F test/alter2.test dd55146e812622c8fc51fd2216bcd8dca8880752 F test/alter3.test 25b95a136708f22b87184fa6a4309eea03d65153 F test/altermalloc.test 29d4a8400277efb4ba8ffe90804c6dc2fdfbf063 -F test/analyze.test 2f55535aa335785db1a2f97d3f3831c16c09f8b0 +F test/analyze.test 309ae29d81dbc2e4b07c3c16ba615889deb77c46 F test/async.test aecaa46ed0618a3c338f3651ca4f10fbb4021044 F test/async2.test 8998e089b0fbb3d84cdd51c25a78833486d721af F test/async3.test 9ffa0977a78cc6351862a1583be2b1eecd41736d @@ -226,9 +226,9 @@ F test/btree9.test 5d8711b241145b90f65dd1795d5dd8290846fa5e F test/busy.test 76b4887f8b9160ba903c1ac22e8ff406ad6ae2f0 F test/cache.test 3ff445c445742a7b6b9ba6e1d62a25263f9424b9 F test/capi2.test cc64df7560a96f848f919ea2926c60acf639684b -F test/capi3.test 8abe9bc7b21c6d402628e66fee1b77a47f3800b7 +F test/capi3.test 928999c4fb7c70239a4c7b8f9fa52d5cdba9b568 F test/capi3b.test 664eb55318132f292f2c436f90906f578cad6b97 -F test/capi3c.test f17c6936835213fae25a6686f7fbbbf024c94b5e +F test/capi3c.test 976673c1c5caef84201473ea5f7bb7b3093935a8 F test/cast.test ce8f14fc80f70b30ed984480cc0d8914a459e8f9 F test/check.test 024ed399600b799160378cf9d9f436bdf5dfd184 F test/collate1.test e3eaa48c21e150814be1a7b852d2a8af24458d04 @@ -244,10 +244,10 @@ F test/collateA.test 84ff3239d530c1a2c784159594b2ae05238e3ff7 F test/colmeta.test 087c42997754b8c648819832241daf724f813322 F test/conflict.test bb29b052c60a1f7eb6382be77902061d1f305318 F test/corrupt.test 18c7a995b1af76a8c8600b996257f2c7b7bff083 -F test/corrupt2.test 572f8df0303d0ce63ddad5c5c9101a83a345ae46 +F test/corrupt2.test 8059c7354aaba91e7405b4503b79f456c816df8e F test/corrupt3.test 263e8bb04e2728df832fddf6973cf54c91db0c32 F test/corrupt4.test acdb01afaedf529004b70e55de1a6f5a05ae7fff -F test/corrupt5.test 36073300a786b546fb17d39955d5105b9c8b3582 +F test/corrupt5.test 7796d5bdfe155ed824cee9dff371f49da237cfe0 F test/crash.test 1b6ac8410689ff78028887f445062dc897c9ac89 F test/crash2.test 26d7a4c5520201e5de2c696ea51ab946b59dc0e9 F test/crash3.test 0b09687ae1a3ccbcefdfaeb4b963e26e36255d76 @@ -343,7 +343,7 @@ F test/incrvacuum2.test a958e378c193c4012cb3787804d863487f1dfad1 F test/incrvacuum_ioerr.test cb331403b8dea3c5bae6163861ff25037b0df56a F test/index.test cbf301cdb2da43e4eac636c3400c2439af1834ad F test/index2.test ee83c6b5e3173a3d7137140d945d9a5d4fdfb9d6 -F test/index3.test f66718cd92ce1216819d47e6a156755e4b2c4ca1 +F test/index3.test 727d55dceb9a4ec36675057bb5becfc265e28ca6 F test/insert.test aef273dd1cee84cc92407469e6bd1b3cdcb76908 F test/insert2.test 4f3a04d168c728ed5ec2c88842e772606c7ce435 F test/insert3.test 9a4ef3526fd3cca8b05278020ec3100448b4c677 @@ -510,7 +510,7 @@ F test/trigger3.test 9102fd3933db294dc654b5aee9edfe9e94f2b9e2 F test/trigger4.test 8e90ee98cba940cd5f96493f82e55083806ab8a0 F test/trigger5.test 619391a3e9fc194081d22cefd830d811e7badf83 F test/trigger6.test 0e411654f122552da6590f0b4e6f781048a4a9b9 -F test/trigger7.test 0afa870be2ce1b132cdb85b17a4a4ef45aa8cece +F test/trigger7.test 194984b3f6f851eb905cd0a7bffac09f36cf1244 F test/trigger8.test 3a09275aa2214fdff56f731b1e775d8dfee4408a F test/trigger9.test b42703c378916d52a5e240ba98b25b155d3927a3 F test/triggerA.test 8dbf5bffa3190bd513785a24a573a166a885fc1b @@ -537,7 +537,7 @@ F test/vtab9.test ea58d2b95d61955f87226381716b2d0b1d4e4f9b F test/vtabA.test 9cb6b1afead6fdd91bbdf1ca65c44ccfd9b10936 F test/vtab_alter.test 3a299749fee97ca3d53bd55717f536e4a2284856 F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8 -F test/vtab_shared.test d631d1f820c38c18939d53aab1fc35db5f0a8094 +F test/vtab_shared.test c19b2555b807ef2ee014c882cdda5bc8d84fcf48 F test/where.test 5ff4a1bda6352b73354faf1a97706bbfa0d47dfe F test/where2.test 7012c0ad022a54430dd22c98288d3f4d6599dbcf F test/where3.test 0a30fe9808b0fa01c46d0fcf4fac0bf6cf75bb30 @@ -623,7 +623,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 074ee55ffd1f0b7bb120a440d8bcf19e249ada96 -R bac1ef9b629a837280f01f7433baefc9 +P 24e769972eb6052b82dc94d20444c186a213e104 +R 4b77bcd32296c6d86f572479659c9d8c U drh -Z 6a01323dbd724dd5c8307094b92f096d +Z a9c107b0ba3f9820562b16ec8e95592e diff --git a/manifest.uuid b/manifest.uuid index 6377c766b2..2f3bc69328 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -24e769972eb6052b82dc94d20444c186a213e104 \ No newline at end of file +57805b588f6b6d070918102a0ff096ade674279a \ No newline at end of file diff --git a/src/prepare.c b/src/prepare.c index 8bda5e7899..0118f65cad 100644 --- a/src/prepare.c +++ b/src/prepare.c @@ -13,7 +13,7 @@ ** interface, and routines that contribute to loading the database schema ** from disk. ** -** $Id: prepare.c,v 1.78 2008/03/08 12:23:31 drh Exp $ +** $Id: prepare.c,v 1.79 2008/03/19 13:03:34 drh Exp $ */ #include "sqliteInt.h" #include @@ -22,9 +22,14 @@ ** Fill the InitData structure with an error message that indicates ** that the database is corrupt. */ -static void corruptSchema(InitData *pData, const char *zExtra){ +static void corruptSchema( + InitData *pData, /* Initialization context */ + const char *zObj, /* Object being parsed at the point of error */ + const char *zExtra /* Error information */ +){ if( !pData->db->mallocFailed ){ - sqlite3SetString(pData->pzErrMsg, "malformed database schema", + if( zObj==0 ) zObj = "?"; + sqlite3SetString(pData->pzErrMsg, "malformed database schema (", zObj, ")", zExtra!=0 && zExtra[0]!=0 ? " - " : (char*)0, zExtra, (char*)0); } pData->rc = SQLITE_CORRUPT; @@ -51,14 +56,14 @@ int sqlite3InitCallback(void *pInit, int argc, char **argv, char **azColName){ pData->rc = SQLITE_OK; DbClearProperty(db, iDb, DB_Empty); if( db->mallocFailed ){ - corruptSchema(pData, 0); + corruptSchema(pData, argv[0], 0); return SQLITE_NOMEM; } assert( argc==3 ); if( argv==0 ) return 0; /* Might happen if EMPTY_RESULT_CALLBACKS are on */ if( argv[1]==0 ){ - corruptSchema(pData, 0); + corruptSchema(pData, argv[0], 0); return 1; } assert( iDb>=0 && iDbnDb ); @@ -81,13 +86,13 @@ int sqlite3InitCallback(void *pInit, int argc, char **argv, char **azColName){ if( rc==SQLITE_NOMEM ){ db->mallocFailed = 1; }else if( rc!=SQLITE_INTERRUPT ){ - corruptSchema(pData, zErr); + corruptSchema(pData, argv[0], zErr); } sqlite3_free(zErr); return 1; } }else if( argv[0]==0 ){ - corruptSchema(pData, 0); + corruptSchema(pData, 0, 0); }else{ /* If the SQL column is blank it means this is an index that ** was created to be the PRIMARY KEY or to fulfill a UNIQUE diff --git a/src/util.c b/src/util.c index f8f02a4d09..e3395e1cdb 100644 --- a/src/util.c +++ b/src/util.c @@ -14,7 +14,7 @@ ** This file contains functions for allocating memory, comparing ** strings, and stuff like that. ** -** $Id: util.c,v 1.216 2008/01/23 03:03:05 drh Exp $ +** $Id: util.c,v 1.217 2008/03/19 13:03:34 drh Exp $ */ #include "sqliteInt.h" #include @@ -594,8 +594,7 @@ void sqlite3Put4byte(unsigned char *p, u32 v){ -#if !defined(SQLITE_OMIT_BLOB_LITERAL) || defined(SQLITE_HAS_CODEC) \ - || defined(SQLITE_TEST) +#if !defined(SQLITE_OMIT_BLOB_LITERAL) || defined(SQLITE_HAS_CODEC) /* ** Translate a single byte of Hex into an integer. */ @@ -609,7 +608,7 @@ static int hexToInt(int h){ return h - 'A' + 10; } } -#endif /* !SQLITE_OMIT_BLOB_LITERAL || SQLITE_HAS_CODEC || SQLITE_TEST */ +#endif /* !SQLITE_OMIT_BLOB_LITERAL || SQLITE_HAS_CODEC */ #if !defined(SQLITE_OMIT_BLOB_LITERAL) || defined(SQLITE_HAS_CODEC) /* diff --git a/test/analyze.test b/test/analyze.test index ded287e6bc..664bdbc13b 100644 --- a/test/analyze.test +++ b/test/analyze.test @@ -11,7 +11,7 @@ # This file implements regression tests for SQLite library. # This file implements tests for the ANALYZE command. # -# $Id: analyze.test,v 1.5 2005/09/10 22:40:54 drh Exp $ +# $Id: analyze.test,v 1.6 2008/03/19 13:03:34 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -251,7 +251,7 @@ do_test analyze-99.1 { catchsql { ANALYZE } -} {1 {malformed database schema - near "nonsense": syntax error}} +} {1 {malformed database schema (sqlite_stat1) - near "nonsense": syntax error}} finish_test diff --git a/test/capi3.test b/test/capi3.test index f5712934dc..cf3b8bb525 100644 --- a/test/capi3.test +++ b/test/capi3.test @@ -11,7 +11,7 @@ # This file implements regression tests for SQLite library. The # focus of this script testing the callback-free C/C++ API. # -# $Id: capi3.test,v 1.60 2008/03/19 00:21:31 drh Exp $ +# $Id: capi3.test,v 1.61 2008/03/19 13:03:34 drh Exp $ # set testdir [file dirname $argv0] @@ -690,7 +690,7 @@ if {![sqlite3 -has-codec]} { catchsql { SELECT * FROM sqlite_master; } - } {1 {malformed database schema}} + } {1 {malformed database schema (?)}} do_test capi3-8.4 { # Build a 5-field row record. The first field is a string 'table', and # subsequent fields are all NULL. @@ -709,7 +709,7 @@ if {![sqlite3 -has-codec]} { catchsql { SELECT * FROM sqlite_master; } - } {1 {malformed database schema}} + } {1 {malformed database schema (?)}} db close } file delete -force test.db diff --git a/test/capi3c.test b/test/capi3c.test index dcf026a91e..5ba1cc5bc0 100644 --- a/test/capi3c.test +++ b/test/capi3c.test @@ -13,7 +13,7 @@ # This is a copy of the capi3.test file that has been adapted to # test the new sqlite3_prepare_v2 interface. # -# $Id: capi3c.test,v 1.15 2008/03/19 00:21:31 drh Exp $ +# $Id: capi3c.test,v 1.16 2008/03/19 13:03:34 drh Exp $ # set testdir [file dirname $argv0] @@ -675,7 +675,7 @@ if {![sqlite3 -has-codec]} { catchsql { SELECT * FROM sqlite_master; } - } {1 {malformed database schema}} + } {1 {malformed database schema (?)}} do_test capi3c-8.4 { # Build a 5-field row record. The first field is a string 'table', and # subsequent fields are all NULL. @@ -694,7 +694,7 @@ if {![sqlite3 -has-codec]} { catchsql { SELECT * FROM sqlite_master; } - } {1 {malformed database schema}} + } {1 {malformed database schema (?)}} db close } file delete -force test.db diff --git a/test/corrupt2.test b/test/corrupt2.test index cba53f6d25..515669154a 100644 --- a/test/corrupt2.test +++ b/test/corrupt2.test @@ -13,7 +13,7 @@ # This file implements tests to make sure SQLite does not crash or # segfault if it sees a corrupt database file. # -# $Id: corrupt2.test,v 1.4 2007/03/13 16:32:25 danielk1977 Exp $ +# $Id: corrupt2.test,v 1.5 2008/03/19 13:03:34 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -128,7 +128,7 @@ do_test corrupt2-2.1 { catchsql { SELECT * FROM sqlite_master; } db2 -} {1 {malformed database schema - index a3 already exists}} +} {1 {malformed database schema (a3) - index a3 already exists}} db2 close diff --git a/test/corrupt5.test b/test/corrupt5.test index 07f0ff6e87..0ee85f8134 100644 --- a/test/corrupt5.test +++ b/test/corrupt5.test @@ -13,7 +13,7 @@ # This file implements tests to make sure SQLite does not crash or # segfault if it sees a corrupt database file. # -# $Id: corrupt5.test,v 1.1 2008/01/22 16:35:37 drh Exp $ +# $Id: corrupt5.test,v 1.2 2008/03/19 13:03:34 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -39,6 +39,6 @@ do_test corrupt5-1.1 { catchsql { SELECT * FROM t1 } -} {1 {malformed database schema}} +} {1 {malformed database schema (?)}} finish_test diff --git a/test/index3.test b/test/index3.test index c6c6ff4e09..9549f55b05 100644 --- a/test/index3.test +++ b/test/index3.test @@ -11,7 +11,7 @@ # This file implements regression tests for SQLite library. The # focus of this file is testing the CREATE INDEX statement. # -# $Id: index3.test,v 1.2 2005/08/20 03:03:04 drh Exp $ +# $Id: index3.test,v 1.3 2008/03/19 13:03:34 drh Exp $ set testdir [file dirname $argv0] @@ -53,6 +53,6 @@ do_test index3-99.1 { catchsql { DROP INDEX i1; } -} {1 {malformed database schema - near "nonsense": syntax error}} +} {1 {malformed database schema (t1) - near "nonsense": syntax error}} finish_test diff --git a/test/trigger7.test b/test/trigger7.test index dfaf18fd7d..2eacd040ae 100644 --- a/test/trigger7.test +++ b/test/trigger7.test @@ -12,7 +12,7 @@ # # This file implements tests to increase coverage of trigger.c. # -# $Id: trigger7.test,v 1.1 2005/08/19 02:26:27 drh Exp $ +# $Id: trigger7.test,v 1.2 2008/03/19 13:03:34 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -116,6 +116,6 @@ do_test trigger7-99.1 { catchsql { DROP TRIGGER t2r5 } -} {1 {malformed database schema - near "nonsense": syntax error}} +} {1 {malformed database schema (t1) - near "nonsense": syntax error}} finish_test diff --git a/test/vtab_shared.test b/test/vtab_shared.test index 04ba1ecd8d..cfc48d9a6f 100644 --- a/test/vtab_shared.test +++ b/test/vtab_shared.test @@ -11,7 +11,7 @@ # This file tests interactions between the virtual table and # shared-schema functionality. # -# $Id: vtab_shared.test,v 1.1 2007/04/16 15:49:42 danielk1977 Exp $ +# $Id: vtab_shared.test,v 1.2 2008/03/19 13:03:34 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -54,9 +54,8 @@ do_test vtab_shared-1.2 { SELECT * FROM t1; } } [list 1 \ - {malformed database schema - Cannot use virtual tables in shared-cache mode}] + {malformed database schema (t1) - Cannot use virtual tables in shared-cache mode}] db close sqlite3_enable_shared_cache 0 finish_test -