]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
In sqlite3VdbeHalt(), return as soon as possible if
authordan <dan@noemail.net>
Tue, 21 Feb 2017 21:24:05 +0000 (21:24 +0000)
committerdan <dan@noemail.net>
Tue, 21 Feb 2017 21:24:05 +0000 (21:24 +0000)
Vdbe.magic!=VDBE_MAGIC_RUN. This makes sqlite3_reset() slightly faster in some
cases.

FossilOrigin-Name: 80adc0cb4ed7bacc54b15ac8b5b205403939c8c4

manifest
manifest.uuid
src/vdbeaux.c

index c5dbc5dfad6989448d298cd953812374815f2ec6..0c80aaffbabeb4f4bdf404b23f3315152732804b 100644 (file)
--- 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
index 94de19d8f14838032dc29f21d672944cde25c230..2ace79cb168bb24514c612bdd1ae6057042c9397 100644 (file)
@@ -1 +1 @@
-e400909f313c317b7b67be6eb867ed61df7383dc
\ No newline at end of file
+80adc0cb4ed7bacc54b15ac8b5b205403939c8c4
\ No newline at end of file
index cf062cf01d7cda4b631872e7558d9f62c31c4743..292ff2bdd2c636dc191a584bb07326187feb9e7b 100644 (file)
@@ -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