From 76f63789f2815873d05bdd039c0c49ce5ffb070b Mon Sep 17 00:00:00 2001 From: drh Date: Tue, 7 Feb 2017 03:44:42 +0000 Subject: [PATCH] Back out [ec8ff892ac] which is causing missed OOM errors on some tests. FossilOrigin-Name: 0611770d6a2fcb9fa0bedee19df9916820ae8f3b --- manifest | 13 +++++++------ manifest.uuid | 2 +- src/main.c | 34 +++++++++++++++++----------------- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/manifest b/manifest index 6545db5863..7dcfa25be5 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sminor\stypo\sin\sa\scomment\sin\sR-Tree.\s\sNo\schanges\sto\scode. -D 2017-02-07T00:55:47.045 +C Back\sout\s[ec8ff892ac]\swhich\sis\scausing\smissed\sOOM\serrors\son\ssome\stests. +D 2017-02-07T03:44:42.867 F Makefile.in 5f415e7867296d678fed2e6779aea10c1318b4bc F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc ba953c8921fc7e18333f61898007206de7e23964 @@ -359,7 +359,7 @@ F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71 F src/insert.c 444354c23d4d140a57d6eb46f34e376a7f8f62e8 F src/legacy.c 75d3023be8f0d2b99d60f905090341a03358c58e F src/loadext.c a68d8d1d14cf7488bb29dc5311cb1ce9a4404258 -F src/main.c eb4f5034ede07e1777e3e31fb2059a0046f499af +F src/main.c e207b81542d13b9f13d61e78ca441f9781f055b0 F src/malloc.c fc1b9f445290f2145da48fc08730c26e6082b640 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c 6919bcf12f221868ea066eec27e579fed95ce98b @@ -1554,7 +1554,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P e5aea894267addb4dc9b21de24a20417b0be508a -R d0b5dcf12941f0f1570d0961d3cc15da +P f77ee9e941f22b0b2e88871df4466fdde9cde131 +Q -ec8ff892ac9c6a8f81bcf69f1933f4bb69faa743 +R ebea043e9962974403d836188c02b08f U drh -Z 7c46a9478c1e693d3d76de1002d9aeea +Z a87f51011f00704857e3612bb8043da6 diff --git a/manifest.uuid b/manifest.uuid index b66e0e2d13..1b41d3e917 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f77ee9e941f22b0b2e88871df4466fdde9cde131 \ No newline at end of file +0611770d6a2fcb9fa0bedee19df9916820ae8f3b \ No newline at end of file diff --git a/src/main.c b/src/main.c index e771c8eb04..9aad8fdd4c 100644 --- a/src/main.c +++ b/src/main.c @@ -2989,13 +2989,13 @@ static int openDatabase( if( rc==SQLITE_OK ){ sqlite3AutoLoadExtensions(db); rc = sqlite3_errcode(db); + if( rc!=SQLITE_OK ){ + goto opendb_out; + } } - testcase( rc!=SQLITE_OK && rc!=SQLITE_NOMEM ); - testcase( rc!=SQLITE_OK && !db->mallocFailed ); - #ifdef SQLITE_ENABLE_FTS1 - if( !db->mallocFailed && rc==SQLITE_OK ){ + if( !db->mallocFailed ){ extern int sqlite3Fts1Init(sqlite3*); rc = sqlite3Fts1Init(db); } @@ -3038,23 +3038,23 @@ static int openDatabase( } #endif - if( rc==SQLITE_OK ){ - /* -DSQLITE_DEFAULT_LOCKING_MODE=1 makes EXCLUSIVE the default locking - ** mode. -DSQLITE_DEFAULT_LOCKING_MODE=0 make NORMAL the default locking - ** mode. Doing nothing at all also makes NORMAL the default. - */ + /* -DSQLITE_DEFAULT_LOCKING_MODE=1 makes EXCLUSIVE the default locking + ** mode. -DSQLITE_DEFAULT_LOCKING_MODE=0 make NORMAL the default locking + ** mode. Doing nothing at all also makes NORMAL the default. + */ #ifdef SQLITE_DEFAULT_LOCKING_MODE - db->dfltLockMode = SQLITE_DEFAULT_LOCKING_MODE; - sqlite3PagerLockingMode(sqlite3BtreePager(db->aDb[0].pBt), - SQLITE_DEFAULT_LOCKING_MODE); + db->dfltLockMode = SQLITE_DEFAULT_LOCKING_MODE; + sqlite3PagerLockingMode(sqlite3BtreePager(db->aDb[0].pBt), + SQLITE_DEFAULT_LOCKING_MODE); #endif - /* Enable the lookaside-malloc subsystem */ - setupLookaside(db, 0, sqlite3GlobalConfig.szLookaside, - sqlite3GlobalConfig.nLookaside); + if( rc ) sqlite3Error(db, rc); - sqlite3_wal_autocheckpoint(db, SQLITE_DEFAULT_WAL_AUTOCHECKPOINT); - } + /* Enable the lookaside-malloc subsystem */ + setupLookaside(db, 0, sqlite3GlobalConfig.szLookaside, + sqlite3GlobalConfig.nLookaside); + + sqlite3_wal_autocheckpoint(db, SQLITE_DEFAULT_WAL_AUTOCHECKPOINT); opendb_out: if( db ){