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
This commit is contained in:
drh 2009-06-25 11:50:21 +00:00
parent c1761e887b
commit 9635cc7c0d
4 changed files with 13 additions and 16 deletions

View File

@ -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

View File

@ -1 +1 @@
daadbd9a8f0e35dd16c715cf2e9f99f52afa30dd
6e9140a729bd26dd102e603abf6ea16d67e8546e

View File

@ -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{

View File

@ -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);