From: drh Date: Thu, 25 Jun 2009 11:50:21 +0000 (+0000) Subject: Get the notify2.test running again by removing an ALWAYS() that was mistakenly X-Git-Tag: cvs-to-fossil-cutover~157 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9635cc7c0d54e5c409c419c0bf0df37b939db351;p=thirdparty%2Fsqlite.git Get the notify2.test running again by removing an ALWAYS() that was mistakenly inserted and by taking care not to report corruption following an SQLITE_LOCKED failure during schema parsing. (CVS 6815) FossilOrigin-Name: 6e9140a729bd26dd102e603abf6ea16d67e8546e --- diff --git a/manifest b/manifest index 198de2a21c..9bbda480a6 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Replace\san\s"if"\scondition\sthat\sis\salways\strue\sin\sbtree.c\swith\san\sassert().\s(CVS\s6814) -D 2009-06-25T09:40:04 +C Get\sthe\snotify2.test\srunning\sagain\sby\sremoving\san\sALWAYS()\sthat\swas\smistakenly\ninserted\sand\sby\staking\scare\snot\sto\sreport\scorruption\sfollowing\san\nSQLITE_LOCKED\sfailure\sduring\sschema\sparsing.\s(CVS\s6815) +D 2009-06-25T11:50:21 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 8b8fb7823264331210cddf103831816c286ba446 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -109,7 +109,7 @@ F src/btmutex.c 9b899c0d8df3bd68f527b0afe03088321b696d3c F src/btree.c d57b29353c855d99be435cf89378a5dad1b69c53 F src/btree.h f70b694e8c163227369a66863b01fbff9009f323 F src/btreeInt.h 55346bc14b939ad41b297942e8b1b581e960fb99 -F src/build.c d930b3899aea564f01a581e0e9429d92fb5f98f0 +F src/build.c 813f6bdab5e4fb5ff94a5340c199a4930da9d66e F src/callback.c cb68b21b0d4ae7d11ae0e487933bce3323784dcf F src/complete.c 5ad5c6cd4548211867c204c41a126d73a9fbcea0 F src/date.c ab5f7137656652a48434d64f96bdcdc823bb23b3 @@ -153,7 +153,7 @@ F src/pcache.c 395f752a13574120bd7513a400ba02a265aaa76d F src/pcache.h 9b927ccc5a538e31b4c3bc7eec4f976db42a1324 F src/pcache1.c 97e7e8e6e34026fb43b47d08532b0c02e959c26c F src/pragma.c 1774ff8e2f167368225108489b1c9d123aa13257 -F src/prepare.c 0cdca4d0361cd897aa7a3d6023b2d55432db6022 +F src/prepare.c 3db796d75a786e55cfcb43d46d7145f87b672b76 F src/printf.c 508a1c59433353552b6553cba175eaa7331f8fc1 F src/random.c 676b9d7ac820fe81e6fb2394ac8c10cff7f38628 F src/resolve.c 4a61d03e49b15440878096e6030863fc628828f0 @@ -737,7 +737,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl 672f81d693a03f80f5ae60bfefacd8a349e76746 -P 8b34076668f0f712de0fbbe9bc2e68d42797e1b2 -R 14a6c3f47ca2c7926c974d33b6245e2a -U danielk1977 -Z a36489898102c6f72dd80b9561deee89 +P daadbd9a8f0e35dd16c715cf2e9f99f52afa30dd +R ab5d29a1c90a87e34a45905cc6c2c7e0 +U drh +Z 8f658c75d8c1111804bc12d67ee4da94 diff --git a/manifest.uuid b/manifest.uuid index 436a485920..bb9ea86e6e 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -daadbd9a8f0e35dd16c715cf2e9f99f52afa30dd \ No newline at end of file +6e9140a729bd26dd102e603abf6ea16d67e8546e \ No newline at end of file diff --git a/src/build.c b/src/build.c index 850ec7fa23..0ec5b7b811 100644 --- a/src/build.c +++ b/src/build.c @@ -22,7 +22,7 @@ ** COMMIT ** ROLLBACK ** -** $Id: build.c,v 1.553 2009/06/23 20:28:54 drh Exp $ +** $Id: build.c,v 1.554 2009/06/25 11:50:21 drh Exp $ */ #include "sqliteInt.h" @@ -378,10 +378,7 @@ void sqlite3UnlinkAndDeleteIndex(sqlite3 *db, int iDb, const char *zIdxName){ len = sqlite3Strlen30(zIdxName); pIndex = sqlite3HashInsert(pHash, zIdxName, len, 0); - /* Justification of ALWAYS(): This routine is only called from the - ** OP_DropIndex opcode. And there is no way that opcode will ever run - ** unless the corresponding index is in the symbol table. */ - if( ALWAYS(pIndex) ){ + if( pIndex ){ if( pIndex->pTable->pIndex==pIndex ){ pIndex->pTable->pIndex = pIndex->pNext; }else{ diff --git a/src/prepare.c b/src/prepare.c index 5db7b0bd7f..630b77eb2a 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.124 2009/06/22 12:05:10 drh Exp $ +** $Id: prepare.c,v 1.125 2009/06/25 11:50:21 drh Exp $ */ #include "sqliteInt.h" @@ -87,7 +87,7 @@ int sqlite3InitCallback(void *pInit, int argc, char **argv, char **NotUsed){ pData->rc = rc; if( rc==SQLITE_NOMEM ){ db->mallocFailed = 1; - }else if( rc!=SQLITE_INTERRUPT ){ + }else if( rc!=SQLITE_INTERRUPT && rc!=SQLITE_LOCKED ){ corruptSchema(pData, argv[0], zErr); } sqlite3DbFree(db, zErr);