From: drh Date: Fri, 15 Nov 2013 20:06:26 +0000 (+0000) Subject: Add ALWAYS and NEVER macros to currently unreachable but important branches in X-Git-Tag: version-3.8.2~84^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fheads%2Fexpr-codegen-enhancement;p=thirdparty%2Fsqlite.git Add ALWAYS and NEVER macros to currently unreachable but important branches in sqlite3ExprCompare(). FossilOrigin-Name: cee835fe902e46f283257fb8ec9d9744c7d6dd77 --- diff --git a/manifest b/manifest index aaa37eeb63..9ae591ea2a 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Merge\sthe\soperator\scomment\sfixes\sfrom\strunk. -D 2013-11-15T19:00:20.523 +C Add\sALWAYS\sand\sNEVER\smacros\sto\scurrently\sunreachable\sbut\simportant\sbranches\sin\nsqlite3ExprCompare(). +D 2013-11-15T20:06:26.444 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 8a07bebafbfda0eb67728f4bd15a36201662d1a1 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -175,7 +175,7 @@ F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac F src/ctime.c ea4b7f3623a0fcb1146e7f245d7410033e86859c F src/date.c 593c744b2623971e45affd0bde347631bdfa4625 F src/delete.c ddb92f44595366c4817e576b5f11cad5a915c3ef -F src/expr.c 016e9dccac357b32d3ef960fa1690c3b17625e1e +F src/expr.c 1a295d8b0a2ba08919ad9300ebf7b67988ff4030 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb F src/fkey.c 78364daed38e26269c53ddb94c515bceac1063c6 F src/func.c 96caa9dfd1febf9a4b720de4c43ccfb392a52b73 @@ -1139,7 +1139,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P d10fb49a92f5f6e93093ae83544e5aec7984361a cc17f1f05f15e9c62659a49c0656ff2b667bf701 -R 5cbfa311a6440baa1aab3a14e0b86372 +P 9f14f55c8ab77e73dbffb7a9c99422bef14cc17a +R 14d70c56fa6d70d4b8ae495a017a7ed6 U drh -Z 9cd1e63a69ab310f8ae9d30ed54eea9a +Z d160133bb6592eb2691b4e35ce057d8a diff --git a/manifest.uuid b/manifest.uuid index 2be76a8e59..b556a77d11 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -9f14f55c8ab77e73dbffb7a9c99422bef14cc17a \ No newline at end of file +cee835fe902e46f283257fb8ec9d9744c7d6dd77 \ No newline at end of file diff --git a/src/expr.c b/src/expr.c index cc2966cf13..048146b375 100644 --- a/src/expr.c +++ b/src/expr.c @@ -3757,15 +3757,15 @@ int sqlite3ExprCompare(Expr *pA, Expr *pB, int iTab){ } } if( (pA->flags & EP_Distinct)!=(pB->flags & EP_Distinct) ) return 2; - if( (combinedFlags & EP_TokenOnly)==0 ){ + if( ALWAYS((combinedFlags & EP_TokenOnly)==0) ){ if( combinedFlags & EP_xIsSelect ) return 2; if( sqlite3ExprCompare(pA->pLeft, pB->pLeft, iTab) ) return 2; if( sqlite3ExprCompare(pA->pRight, pB->pRight, iTab) ) return 2; if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2; - if( (combinedFlags & EP_Reduced)==0 ){ + if( ALWAYS((combinedFlags & EP_Reduced)==0) ){ if( pA->iColumn!=pB->iColumn ) return 2; if( pA->iTable!=pB->iTable - && (pA->iTable!=iTab || pB->iTable>=0) ) return 2; + && (pA->iTable!=iTab || NEVER(pB->iTable>=0)) ) return 2; } } return 0;