Performance improvements in sqlite3WhereExprUsage().

FossilOrigin-Name: fdf752394b48fb7b9afe7b8a7d83f859985cc2d2
This commit is contained in:
drh 2016-04-12 00:00:33 +00:00
parent 4f2c822cc5
commit 926957f0a6
3 changed files with 10 additions and 10 deletions

View File

@ -1,5 +1,5 @@
C Fix\stypo\sin\sthe\sMSVC\smakefile. C Performance\simprovements\sin\ssqlite3WhereExprUsage().
D 2016-04-11T22:23:04.713 D 2016-04-12T00:00:33.150
F Makefile.in eba680121821b8a60940a81454316f47a341487a F Makefile.in eba680121821b8a60940a81454316f47a341487a
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 71b8b16cf9393f68e2e2035486ca104872558836 F Makefile.msc 71b8b16cf9393f68e2e2035486ca104872558836
@ -458,7 +458,7 @@ F src/walker.c 0f142b5bd3ed2041fc52d773880748b212e63354
F src/where.c 24ab561466d92d313747c04edb1a36a7af8663be F src/where.c 24ab561466d92d313747c04edb1a36a7af8663be
F src/whereInt.h 93297d56edd137b7ea004490690fb6e2ce028a34 F src/whereInt.h 93297d56edd137b7ea004490690fb6e2ce028a34
F src/wherecode.c 8fdad9fbba723df1c1e8d07e7ea8507572040340 F src/wherecode.c 8fdad9fbba723df1c1e8d07e7ea8507572040340
F src/whereexpr.c fb87944b1254234e5bba671aaf6dee476241506a F src/whereexpr.c eacc0e60d029a082b4fc0cc42ea98544add1319e
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2 F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
@ -1482,7 +1482,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 9efe2265b1e70172778d333c5b9d9a76095427ab P 3189a7f1851f823218d85a2455bf218d00d81543
R 9dfabe8574d101ebf28b9a702be1975f R a88db109e8e64abc37a80f82dbafc726
U mistachkin U drh
Z 91af9eba4ad1e404eee70525acb4f1e0 Z 61fba36ce9cee6b2faa0d1bd0f21f7e0

View File

@ -1 +1 @@
3189a7f1851f823218d85a2455bf218d00d81543 fdf752394b48fb7b9afe7b8a7d83f859985cc2d2

View File

@ -1282,10 +1282,10 @@ Bitmask sqlite3WhereExprUsage(WhereMaskSet *pMaskSet, Expr *p){
return mask; return mask;
} }
mask = sqlite3WhereExprUsage(pMaskSet, p->pRight); mask = sqlite3WhereExprUsage(pMaskSet, p->pRight);
mask |= sqlite3WhereExprUsage(pMaskSet, p->pLeft); if( p->pLeft ) mask |= sqlite3WhereExprUsage(pMaskSet, p->pLeft);
if( ExprHasProperty(p, EP_xIsSelect) ){ if( ExprHasProperty(p, EP_xIsSelect) ){
mask |= exprSelectUsage(pMaskSet, p->x.pSelect); mask |= exprSelectUsage(pMaskSet, p->x.pSelect);
}else{ }else if( p->x.pList ){
mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList); mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList);
} }
return mask; return mask;