From: drh Date: Tue, 12 Apr 2016 00:00:33 +0000 (+0000) Subject: Performance improvements in sqlite3WhereExprUsage(). X-Git-Tag: version-3.13.0~101 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=926957f0a6aa4f5a320bf07390683d7d4065ae20;p=thirdparty%2Fsqlite.git Performance improvements in sqlite3WhereExprUsage(). FossilOrigin-Name: fdf752394b48fb7b9afe7b8a7d83f859985cc2d2 --- diff --git a/manifest b/manifest index 8e49256d28..68421cb1a0 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\stypo\sin\sthe\sMSVC\smakefile. -D 2016-04-11T22:23:04.713 +C Performance\simprovements\sin\ssqlite3WhereExprUsage(). +D 2016-04-12T00:00:33.150 F Makefile.in eba680121821b8a60940a81454316f47a341487a F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 71b8b16cf9393f68e2e2035486ca104872558836 @@ -458,7 +458,7 @@ F src/walker.c 0f142b5bd3ed2041fc52d773880748b212e63354 F src/where.c 24ab561466d92d313747c04edb1a36a7af8663be F src/whereInt.h 93297d56edd137b7ea004490690fb6e2ce028a34 F src/wherecode.c 8fdad9fbba723df1c1e8d07e7ea8507572040340 -F src/whereexpr.c fb87944b1254234e5bba671aaf6dee476241506a +F src/whereexpr.c eacc0e60d029a082b4fc0cc42ea98544add1319e F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2 F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2 @@ -1482,7 +1482,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 9efe2265b1e70172778d333c5b9d9a76095427ab -R 9dfabe8574d101ebf28b9a702be1975f -U mistachkin -Z 91af9eba4ad1e404eee70525acb4f1e0 +P 3189a7f1851f823218d85a2455bf218d00d81543 +R a88db109e8e64abc37a80f82dbafc726 +U drh +Z 61fba36ce9cee6b2faa0d1bd0f21f7e0 diff --git a/manifest.uuid b/manifest.uuid index 042db0d78f..9d56144ad3 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -3189a7f1851f823218d85a2455bf218d00d81543 \ No newline at end of file +fdf752394b48fb7b9afe7b8a7d83f859985cc2d2 \ No newline at end of file diff --git a/src/whereexpr.c b/src/whereexpr.c index 0ad1f6a0dc..ff012281b1 100644 --- a/src/whereexpr.c +++ b/src/whereexpr.c @@ -1282,10 +1282,10 @@ Bitmask sqlite3WhereExprUsage(WhereMaskSet *pMaskSet, Expr *p){ return mask; } mask = sqlite3WhereExprUsage(pMaskSet, p->pRight); - mask |= sqlite3WhereExprUsage(pMaskSet, p->pLeft); + if( p->pLeft ) mask |= sqlite3WhereExprUsage(pMaskSet, p->pLeft); if( ExprHasProperty(p, EP_xIsSelect) ){ mask |= exprSelectUsage(pMaskSet, p->x.pSelect); - }else{ + }else if( p->x.pList ){ mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList); } return mask;