From: dan Date: Tue, 21 Feb 2017 21:24:05 +0000 (+0000) Subject: In sqlite3VdbeHalt(), return as soon as possible if X-Git-Tag: version-3.18.0~102 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1325adf5e9d6745c9e00a85e294025ceda0691e9;p=thirdparty%2Fsqlite.git In sqlite3VdbeHalt(), return as soon as possible if Vdbe.magic!=VDBE_MAGIC_RUN. This makes sqlite3_reset() slightly faster in some cases. FossilOrigin-Name: 80adc0cb4ed7bacc54b15ac8b5b205403939c8c4 --- diff --git a/manifest b/manifest index c5dbc5dfad..0c80aaffba 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\san\sFTS5\sproblem\sthat\scould\scause\sa\scrash\swhen\scertain\squeries\swere\ninterrupted\susing\ssqlite3_interrupt(). -D 2017-02-21T17:52:58.643 +C In\ssqlite3VdbeHalt(),\sreturn\sas\ssoon\sas\spossible\sif\nVdbe.magic!=VDBE_MAGIC_RUN.\sThis\smakes\ssqlite3_reset()\sslightly\sfaster\sin\ssome\ncases. +D 2017-02-21T21:24:05.029 F Makefile.in edb6bcdd37748d2b1c3422ff727c748df7ffe918 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc a89ea37ab5928026001569f056973b9059492fe2 @@ -466,7 +466,7 @@ F src/vdbe.c 16542e327eb38763490473dc0e9e9396924f30b2 F src/vdbe.h 59998ffd71d7caa8886bc78dafaf8caeccd4c13c F src/vdbeInt.h 4e4b15b2e1330e1636e4e01974eab2b0b985092f F src/vdbeapi.c 3e4a8893feeb78620f4aac4ac5b85d92255b97e1 -F src/vdbeaux.c 4122458d33318ab039c4b5da1ca4e7c9221c38e4 +F src/vdbeaux.c 2f48204a0f2875b098ee046bba9265907297b0b5 F src/vdbeblob.c 359891617358deefc85bef7bcf787fa6b77facb9 F src/vdbemem.c 3b5a9a5b375458d3e12a50ae1aaa41eeec2175fd F src/vdbesort.c eda25cb2d1727efca6f7862fea32b8aa33c0face @@ -1557,7 +1557,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 3c3228ed16ed8a72630bd56bb9192ee3c7f82093 -R c2d6d6c70c7c0d8b681ef9ca8535c3a3 +P e400909f313c317b7b67be6eb867ed61df7383dc +R 5434ea5a08220297aa4d56dd68f46447 U dan -Z 2a4ed498ce9ed73234b51fb6f9a899a9 +Z 68cf5c57f26344b5e30f88013a5c9e52 diff --git a/manifest.uuid b/manifest.uuid index 94de19d8f1..2ace79cb16 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e400909f313c317b7b67be6eb867ed61df7383dc \ No newline at end of file +80adc0cb4ed7bacc54b15ac8b5b205403939c8c4 \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index cf062cf01d..292ff2bdd2 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -2609,13 +2609,13 @@ int sqlite3VdbeHalt(Vdbe *p){ ** one, or the complete transaction if there is no statement transaction. */ + if( p->magic!=VDBE_MAGIC_RUN ){ + return SQLITE_OK; + } if( db->mallocFailed ){ p->rc = SQLITE_NOMEM_BKPT; } closeAllCursors(p); - if( p->magic!=VDBE_MAGIC_RUN ){ - return SQLITE_OK; - } checkActiveVdbeCnt(db); /* No commit or rollback needed if the program never started or if the