From 628dfe163f6a77c757759253c2714562079df16e Mon Sep 17 00:00:00 2001 From: drh Date: Mon, 3 Apr 2017 14:07:08 +0000 Subject: [PATCH] Avoid an unnecessary call to sqlite3WhereGetMask() inside of whereShortCut(). FossilOrigin-Name: 5c11f4303f6a33d6358f451244551be63baf9afe5630332e60b349215e20a3af --- manifest | 14 +++++++------- manifest.uuid | 2 +- src/where.c | 3 ++- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index 2ed7a46f83..9045344b56 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Do\snot\sattempt\sto\srun\ssync2.test\swith\sSQLITE_DISABLE_DIRSYNC\sbuilds. -D 2017-04-03T13:59:22.968 +C Avoid\san\sunnecessary\scall\sto\ssqlite3WhereGetMask()\sinside\sof\swhereShortCut(). +D 2017-04-03T14:07:08.340 F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc a4c0613a18663bda56d8cf76079ab6590a7c3602e54befb4bbdef76bcaa38b6a @@ -482,7 +482,7 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 F src/wal.c 40c543f0a2195d1b0dc88ef12142bea690009344 F src/wal.h 06b2a0b599cc0f53ea97f497cf8c6b758c999f71 F src/walker.c b71a992b413b3a022572eccf29ef4b4890223791 -F src/where.c e815093e5ee039b6b4eb19b646d22deb1a3a523f +F src/where.c aed99e51153930ce30a6b25968fa61fabdc0160f6198e01ed3d108e9dbb49a15 F src/whereInt.h 2d50c2b74a33be44cb68fdecee30b4d93552f1f4 F src/wherecode.c 677e95413c472c0b413023b6b69a47f40fce1b04 F src/whereexpr.c 130cdd1a43af71b19755270fb1224874cf55158c @@ -1569,7 +1569,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 86897c24c0b35ffea8df72d86a099addf67de210c6568aaba22ef92f1a60c3cf -R ec6f0280f0b5bac989fcec1c5dd2103a -U dan -Z d34161eab469d9f5620a10a3616b7e4e +P 658f08ce84b45f057843263961f6c47a322f841764134ec38f35719f0f2042d7 +R e39c693ad3e0951889c32471c5e8f7c7 +U drh +Z c6c3b56859c36a08dcbd07df15c30b8c diff --git a/manifest.uuid b/manifest.uuid index 62b9cbadab..da4717fdfe 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -658f08ce84b45f057843263961f6c47a322f841764134ec38f35719f0f2042d7 \ No newline at end of file +5c11f4303f6a33d6358f451244551be63baf9afe5630332e60b349215e20a3af \ No newline at end of file diff --git a/src/where.c b/src/where.c index 4f65695a3f..d9c8b55d01 100644 --- a/src/where.c +++ b/src/where.c @@ -4262,7 +4262,8 @@ static int whereShortCut(WhereLoopBuilder *pBuilder){ if( pLoop->wsFlags ){ pLoop->nOut = (LogEst)1; pWInfo->a[0].pWLoop = pLoop; - pLoop->maskSelf = sqlite3WhereGetMask(&pWInfo->sMaskSet, iCur); + assert( pWInfo->sMaskSet.n==1 && iCur==pWInfo->sMaskSet.ix[0] ); + pLoop->maskSelf = 1; /* sqlite3WhereGetMask(&pWInfo->sMaskSet, iCur); */ pWInfo->a[0].iTabCur = iCur; pWInfo->nRowOut = 1; if( pWInfo->pOrderBy ) pWInfo->nOBSat = pWInfo->pOrderBy->nExpr; -- 2.47.2