From c0b61810ed92192b378db52840cbf677b2387c54 Mon Sep 17 00:00:00 2001 From: drh Date: Thu, 30 Apr 2009 01:22:41 +0000 Subject: [PATCH] Remove always-true tests from attach.c. In btree.c, always test the return from sqlite3PagerSetPagesize() since it might return SQLITE_NOMEM. (CVS 6572) FossilOrigin-Name: 8bf60b24ffcf6ac15f41eaa7f976b810e0c66734 --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/attach.c | 5 +++-- src/btree.c | 9 +++++---- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/manifest b/manifest index f2f21946bd..a26b30d36b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Remove\san\salways-true\stest\sfrom\sdelete.c.\s\sMove\sthe\ssqlite3OpenTable()\nroutine\sfrom\sdelete.c\sto\sinsert.c\ssince\sit\sis\snot\sused\sin\sdelete.c.\s(CVS\s6571) -D 2009-04-30T00:11:10 +C Remove\salways-true\stests\sfrom\sattach.c.\s\sIn\sbtree.c,\salways\stest\sthe\sreturn\nfrom\ssqlite3PagerSetPagesize()\ssince\sit\smight\sreturn\sSQLITE_NOMEM.\s(CVS\s6572) +D 2009-04-30T01:22:41 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 583e87706abc3026960ed759aff6371faf84c211 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -101,12 +101,12 @@ F sqlite3.1 6be1ad09113570e1fc8dcaff84c9b0b337db5ffc F sqlite3.pc.in ae6f59a76e862f5c561eb32a380228a02afc3cad F src/alter.c 8ab5824bde0a03dae5829f61557ab7c72757000a F src/analyze.c e239496cfb5394ac8867f1c112905ddab8d01cd9 -F src/attach.c af80fa85d391ad302c148c4e2524a2cebec64cb2 +F src/attach.c b3bc7d3c63426abebc28866a62ed317d9a207895 F src/auth.c c8b2ab5c8bad4bd90ed7c294694f48269162c627 F src/backup.c 0082d0e5a63f04e88faee0dff0a7d63d3e92a78d F src/bitvec.c ef370407e03440b0852d05024fb016b14a471d3d F src/btmutex.c 9b899c0d8df3bd68f527b0afe03088321b696d3c -F src/btree.c 57b2aeac717e9cfa959b8b57d11d3d3e8093e162 +F src/btree.c 4ac764ea85af796a9fd4875edf07e7f208008871 F src/btree.h 99fcc7e8c4a1e35afe271bcb38de1a698dfc904e F src/btreeInt.h df64030d632f8c8ac217ed52e8b6b3eacacb33a5 F src/build.c dca0ad77c88cb00f6a11cc080a4f3285672cfa37 @@ -725,7 +725,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P e98b12425ff036b36165dfd2002e0530ca27a677 -R a6d07a06b17de8ff7ad0ad9540ec3399 +P 71756dc870910665ef5fdbc7343bc3eedbe3ce65 +R deffbd686d1897bfec739f5ed6ad0e41 U drh -Z 6e17c819e35c23345cfca093c0739713 +Z b2a0488e881b8258a5c5a932a53fd373 diff --git a/manifest.uuid b/manifest.uuid index acde075b41..ed0ab37002 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -71756dc870910665ef5fdbc7343bc3eedbe3ce65 \ No newline at end of file +8bf60b24ffcf6ac15f41eaa7f976b810e0c66734 \ No newline at end of file diff --git a/src/attach.c b/src/attach.c index 0f54bcc055..af15a0d730 100644 --- a/src/attach.c +++ b/src/attach.c @@ -11,7 +11,7 @@ ************************************************************************* ** This file contains code used to implement the ATTACH and DETACH commands. ** -** $Id: attach.c,v 1.84 2009/04/08 13:51:51 drh Exp $ +** $Id: attach.c,v 1.85 2009/04/30 01:22:41 drh Exp $ */ #include "sqliteInt.h" @@ -103,7 +103,8 @@ static void attachFunc( } for(i=0; inDb; i++){ char *z = db->aDb[i].zName; - if( z && zName && sqlite3StrICmp(z, zName)==0 ){ + assert( z && zName ); + if( sqlite3StrICmp(z, zName)==0 ){ sqlite3_snprintf(sizeof(zErr), zErr, "database %s is already in use", zName); goto attach_error; diff --git a/src/btree.c b/src/btree.c index 6fe22c163b..a93b10f484 100644 --- a/src/btree.c +++ b/src/btree.c @@ -9,7 +9,7 @@ ** May you share freely, never taking more than you give. ** ************************************************************************* -** $Id: btree.c,v 1.599 2009/04/29 17:49:59 danielk1977 Exp $ +** $Id: btree.c,v 1.600 2009/04/30 01:22:41 drh Exp $ ** ** This file implements a external (disk-based) database using BTrees. ** See the header comment on "btreeInt.h" for additional information. @@ -1523,7 +1523,6 @@ int sqlite3BtreeOpen( if( pBt->pageSize<512 || pBt->pageSize>SQLITE_MAX_PAGE_SIZE || ((pBt->pageSize-1)&pBt->pageSize)!=0 ){ pBt->pageSize = 0; - sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize); #ifndef SQLITE_OMIT_AUTOVACUUM /* If the magic name ":memory:" will create an in-memory database, then ** leave the autoVacuum mode at 0 (do not auto-vacuum), even if @@ -1545,9 +1544,10 @@ int sqlite3BtreeOpen( pBt->incrVacuum = (get4byte(&zDbHeader[36 + 7*4])?1:0); #endif } + rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize); + if( rc ) goto btree_open_out; pBt->usableSize = pBt->pageSize - nReserve; assert( (pBt->pageSize & 7)==0 ); /* 8-byte alignment of pageSize */ - sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize); #if !defined(SQLITE_OMIT_SHARED_CACHE) && !defined(SQLITE_OMIT_DISKIO) /* Add the new BtShared object to the linked list sharable BtShareds. @@ -1991,7 +1991,8 @@ static int lockBtree(BtShared *pBt){ pBt->usableSize = (u16)usableSize; pBt->pageSize = (u16)pageSize; freeTempSpace(pBt); - sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize); + rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize); + if( rc ) goto page1_init_failed; return SQLITE_OK; } if( usableSize<500 ){ -- 2.47.2