]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove always-true tests from attach.c. In btree.c, always test the return
authordrh <drh@noemail.net>
Thu, 30 Apr 2009 01:22:41 +0000 (01:22 +0000)
committerdrh <drh@noemail.net>
Thu, 30 Apr 2009 01:22:41 +0000 (01:22 +0000)
from sqlite3PagerSetPagesize() since it might return SQLITE_NOMEM. (CVS 6572)

FossilOrigin-Name: 8bf60b24ffcf6ac15f41eaa7f976b810e0c66734

manifest
manifest.uuid
src/attach.c
src/btree.c

index f2f21946bddd8e923e7741b0d87c175c6914a1d9..a26b30d36bfeefb63cdadcbbb41d8115fa28051b 100644 (file)
--- 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
index acde075b41f7421aee6bfba31c86b1dbb141828c..ed0ab37002fd0a8c443f6833eb9abded1f38355c 100644 (file)
@@ -1 +1 @@
-71756dc870910665ef5fdbc7343bc3eedbe3ce65
\ No newline at end of file
+8bf60b24ffcf6ac15f41eaa7f976b810e0c66734
\ No newline at end of file
index 0f54bcc055331ca90534980154bc072c08da5f8f..af15a0d730e947cefbec79a9af20d90a57842c8e 100644 (file)
@@ -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; i<db->nDb; 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;
index 6fe22c163b61be6ec9a56655f61d20379cfd073e..a93b10f48464dd10fd7c152429802cd32aa39ee3 100644 (file)
@@ -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 ){