From: drh Date: Mon, 19 Sep 2016 23:39:34 +0000 (+0000) Subject: Very small optimization in the bytecode engine. X-Git-Tag: version-3.15.0~73 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fadd2b197216f5a708029f709db4751db48b8212;p=thirdparty%2Fsqlite.git Very small optimization in the bytecode engine. FossilOrigin-Name: 46002511e52518bae14f210157f231c814c77c9e --- diff --git a/manifest b/manifest index 4cfe2cc045..666dc578cf 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\ssegfault\sintroduced\sby\sthe\srow-value\senhancement\sthat\scomes\sup\son\na\sskip-scan\swhere\sthe\sfirst\sterm\sof\sthe\sindex\sis\sunconstrained\sand\sthe\nsecond\sterm\sis\sof\sthe\sform\s"columm\sIN\s(SELECT...)". -D 2016-09-19T11:00:42.662 +C Very\ssmall\soptimization\sin\sthe\sbytecode\sengine. +D 2016-09-19T23:39:34.157 F Makefile.in 6fd48ffcf7c2deea7499062d1f3747f986c19678 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc e1aa788e84f926e42239ee167c53f785bedacacd @@ -453,7 +453,7 @@ F src/update.c 8179e699dbd45b92934fd02d3d8e3732e8da8802 F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c F src/util.c 810ec3f22e2d1b62e66c30fe3621ebdedd23584d F src/vacuum.c 913970b9d86dd6c2b8063ef1af421880f1464ec3 -F src/vdbe.c cdac9f8c53e2992816809a45910ff33b6122c191 +F src/vdbe.c c21ff59ffcd6e3e208d1e9525f58ae1fc373c8f4 F src/vdbe.h c044be7050ac6bf596eecc6ab159f5dbc020a3b7 F src/vdbeInt.h d21f14721dd87975dc9e3bcdbf504f9c098cf611 F src/vdbeapi.c a32d61b7dd05e6890d8fd44d2805f55e2f5ba9f3 @@ -1525,7 +1525,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 75146165dcc1ae1faab46b1a7333ef795d5eeac5 -R 6570c4faac186baff77a196a1b23d589 +P 2401ea5acfeee8042489d1db38036ff86e8a6916 +R 683f7035193075e0587f69a387a06ae5 U drh -Z c8f046879d40b5e9b9c03ef1eccd7de3 +Z 09002a4c4dfbbe09b9e7daa54e91e112 diff --git a/manifest.uuid b/manifest.uuid index 316a029f4b..ffc0180f5a 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -2401ea5acfeee8042489d1db38036ff86e8a6916 \ No newline at end of file +46002511e52518bae14f210157f231c814c77c9e \ No newline at end of file diff --git a/src/vdbe.c b/src/vdbe.c index 51092cfedb..13c20c462e 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -3176,12 +3176,12 @@ case OP_Transaction: { rc = sqlite3BtreeBeginTrans(pBt, pOp->p2); testcase( rc==SQLITE_BUSY_SNAPSHOT ); testcase( rc==SQLITE_BUSY_RECOVERY ); - if( (rc&0xff)==SQLITE_BUSY ){ - p->pc = (int)(pOp - aOp); - p->rc = rc; - goto vdbe_return; - } if( rc!=SQLITE_OK ){ + if( (rc&0xff)==SQLITE_BUSY ){ + p->pc = (int)(pOp - aOp); + p->rc = rc; + goto vdbe_return; + } goto abort_due_to_error; }