From cfc078318cc39ab2f98369a1be8fdc221ea63851 Mon Sep 17 00:00:00 2001 From: drh Date: Tue, 11 Dec 2018 12:51:46 +0000 Subject: [PATCH] Small performance improvement in sqlite3_step(). FossilOrigin-Name: d1db8d5894450b24bb0335983503d9bbf6cc48a0ae4b83291283fb2d32b6b25b --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/vdbeapi.c | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/manifest b/manifest index 825488a2d0..c56ba9e8ee 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Small\sperformance\simprovement\sin\sthe\ssqlite3_bind()\sfamily\sof\sinterfaces. -D 2018-12-11T12:20:41.473 +C Small\sperformance\simprovement\sin\ssqlite3_step(). +D 2018-12-11T12:51:46.910 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in 68d0ba0f0b533d5bc84c78c13a6ce84ee81183a67014caa47a969e67f028fa1c @@ -581,7 +581,7 @@ F src/vacuum.c 3ffe64ecfc94b7528c5d7bdb1c3a19d72fec63f2aa846e3b90f8de5dbbddf5aa F src/vdbe.c 55bafc424748d9ed505ab2680736e51d1bb05c01e9885cbb3b287b51dc8b47ec F src/vdbe.h 8990d668a89890a33326b0a29b992c4014b72f3b6cdcd9ee0e190593c247f9b0 F src/vdbeInt.h 73f5051923f3f29779bfc374c0c68e23b8e5e3792def2e33e51b427edb890abd -F src/vdbeapi.c d006df501bc7f39204a4a500dba54fcf5a3925fabe25f9a8853c79adb2897a6b +F src/vdbeapi.c 57a2d794a8833f269b878dbc24e955369bdb379af6c4e93ebc5ce1a20fa3daf4 F src/vdbeaux.c f00d9b32a250b829a3c00140255a1c37a6463d726bb87ed6bbb80a1ce76a56bd F src/vdbeblob.c f5c70f973ea3a9e915d1693278a5f890dc78594300cf4d54e64f2b0917c94191 F src/vdbemem.c 7b3305bc4a5139f4536ac9b5f61da0f915e49d2e3fdfa87dfdfa9d7aba8bc1e9 @@ -1783,7 +1783,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 c96bf6cca220e363b099455ce35195ce7e89d374a52dc787f56e7b11e587bced -R 86dccf908eed64e76085197f6613cec4 +P 1dc0c3df32572f09265fc73eeaa0748159e0e9523b9b2d6768b834a29c909968 +R 3a0f12a0379dcf87f0d4dac5a67e82c1 U drh -Z df1a85b6e63863e8c0c59775b55fa8b0 +Z a9bab00c03f66c3893504302653c1fce diff --git a/manifest.uuid b/manifest.uuid index 707eb7f983..e4dca32cf8 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1dc0c3df32572f09265fc73eeaa0748159e0e9523b9b2d6768b834a29c909968 \ No newline at end of file +d1db8d5894450b24bb0335983503d9bbf6cc48a0ae4b83291283fb2d32b6b25b \ No newline at end of file diff --git a/src/vdbeapi.c b/src/vdbeapi.c index c43646a89e..23b19273b6 100644 --- a/src/vdbeapi.c +++ b/src/vdbeapi.c @@ -585,7 +585,7 @@ static int sqlite3Step(Vdbe *p){ return SQLITE_NOMEM_BKPT; } - if( p->pc<=0 && p->expired ){ + if( p->pc<0 && p->expired ){ p->rc = SQLITE_SCHEMA; rc = SQLITE_ERROR; goto end_of_step; @@ -662,9 +662,9 @@ end_of_step: || (rc&0xff)==SQLITE_BUSY || rc==SQLITE_MISUSE ); assert( (p->rc!=SQLITE_ROW && p->rc!=SQLITE_DONE) || p->rc==p->rcApp ); - if( (p->prepFlags & SQLITE_PREPARE_SAVESQL)!=0 - && rc!=SQLITE_ROW - && rc!=SQLITE_DONE + if( rc!=SQLITE_ROW + && rc!=SQLITE_DONE + && (p->prepFlags & SQLITE_PREPARE_SAVESQL)!=0 ){ /* If this statement was prepared using saved SQL and an ** error has occurred, then return the error code in p->rc to the -- 2.47.2