]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add ALWAYS and NEVER macros to currently unreachable but important branches in expr-codegen-enhancement
authordrh <drh@noemail.net>
Fri, 15 Nov 2013 20:06:26 +0000 (20:06 +0000)
committerdrh <drh@noemail.net>
Fri, 15 Nov 2013 20:06:26 +0000 (20:06 +0000)
sqlite3ExprCompare().

FossilOrigin-Name: cee835fe902e46f283257fb8ec9d9744c7d6dd77

manifest
manifest.uuid
src/expr.c

index aaa37eeb63f8aff3c851754c5cefb56744f6bb7a..9ae591ea2a260a1b8d3e15cd3b71e8c696652df0 100644 (file)
--- 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
index 2be76a8e59da6d31a7773ad4afa79ab118010099..b556a77d1173b6868c7c3ce9771d2f2c52cdfd1b 100644 (file)
@@ -1 +1 @@
-9f14f55c8ab77e73dbffb7a9c99422bef14cc17a
\ No newline at end of file
+cee835fe902e46f283257fb8ec9d9744c7d6dd77
\ No newline at end of file
index cc2966cf136ad541862633117c5536c3a2e22db8..048146b375169bb056759fca21b28b793a0eb61a 100644 (file)
@@ -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;