diff options
author | drh <drh@noemail.net> | 2010-06-21 12:47:41 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2010-06-21 12:47:41 +0000 |
commit | 24f0f7716a8963454d77e0224c98dc76f1eebfd2 (patch) | |
tree | f76f3b8d9477bb70be62d337bd579479b4d23078 /src/vdbe.c | |
parent | 19515c8da1df2330c7689315dcd70fc02a4b4e28 (diff) | |
parent | e08341c664e41bb084a7a95bfb47b90b13868694 (diff) | |
download | sqlite-24f0f7716a8963454d77e0224c98dc76f1eebfd2.tar.gz sqlite-24f0f7716a8963454d77e0224c98dc76f1eebfd2.zip |
Merge the experimental UNDELETABLE_WHEN_OPEN optimization into the trunk.
FossilOrigin-Name: ee0acef1faffd480fd2136f81fb2b6f6a17b5388
Diffstat (limited to 'src/vdbe.c')
-rw-r--r-- | src/vdbe.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/vdbe.c b/src/vdbe.c index 6803beafd..aec5712bf 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -5248,8 +5248,6 @@ case OP_JournalMode: { /* out2-prerelease */ rc = sqlite3PagerCloseWal(pPager); if( rc==SQLITE_OK ){ sqlite3PagerSetJournalMode(pPager, eNew); - }else if( rc==SQLITE_BUSY && pOp->p5==0 ){ - goto abort_due_to_error; } } @@ -5259,16 +5257,15 @@ case OP_JournalMode: { /* out2-prerelease */ assert( sqlite3BtreeIsInTrans(pBt)==0 ); if( rc==SQLITE_OK ){ rc = sqlite3BtreeSetVersion(pBt, (eNew==PAGER_JOURNALMODE_WAL ? 2 : 1)); - if( rc==SQLITE_BUSY && pOp->p5==0 ) goto abort_due_to_error; - } - if( rc==SQLITE_BUSY ){ - eNew = eOld; - rc = SQLITE_OK; } } } #endif /* ifndef SQLITE_OMIT_WAL */ + if( rc ){ + if( rc==SQLITE_BUSY && pOp->p5!=0 ) rc = SQLITE_OK; + eNew = eOld; + } eNew = sqlite3PagerSetJournalMode(pPager, eNew); pOut = &aMem[pOp->p2]; |