| Index: third_party/sqlite/src/src/walker.c
 | 
| diff --git a/third_party/sqlite/src/src/walker.c b/third_party/sqlite/src/src/walker.c
 | 
| index 81e0f2cd60b85ea72bbaa4c877a9cbd9029d0503..d1b1e96a2d1eb7908ad32673bf7880cde4bb2fad 100644
 | 
| --- a/third_party/sqlite/src/src/walker.c
 | 
| +++ b/third_party/sqlite/src/src/walker.c
 | 
| @@ -36,23 +36,25 @@
 | 
|  ** The return value from this routine is WRC_Abort to abandon the tree walk
 | 
|  ** and WRC_Continue to continue.
 | 
|  */
 | 
| -int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){
 | 
| +static SQLITE_NOINLINE int walkExpr(Walker *pWalker, Expr *pExpr){
 | 
|    int rc;
 | 
| -  if( pExpr==0 ) return WRC_Continue;
 | 
|    testcase( ExprHasProperty(pExpr, EP_TokenOnly) );
 | 
|    testcase( ExprHasProperty(pExpr, EP_Reduced) );
 | 
|    rc = pWalker->xExprCallback(pWalker, pExpr);
 | 
| -  if( rc==WRC_Continue
 | 
| -              && !ExprHasProperty(pExpr,EP_TokenOnly) ){
 | 
| -    if( sqlite3WalkExpr(pWalker, pExpr->pLeft) ) return WRC_Abort;
 | 
| -    if( sqlite3WalkExpr(pWalker, pExpr->pRight) ) return WRC_Abort;
 | 
| -    if( ExprHasProperty(pExpr, EP_xIsSelect) ){
 | 
| -      if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort;
 | 
| -    }else{
 | 
| -      if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort;
 | 
| -    }
 | 
| +  if( rc || ExprHasProperty(pExpr,(EP_TokenOnly|EP_Leaf)) ){
 | 
| +    return rc & WRC_Abort;
 | 
|    }
 | 
| -  return rc & WRC_Abort;
 | 
| +  if( pExpr->pLeft && walkExpr(pWalker, pExpr->pLeft) ) return WRC_Abort;
 | 
| +  if( pExpr->pRight && walkExpr(pWalker, pExpr->pRight) ) return WRC_Abort;
 | 
| +  if( ExprHasProperty(pExpr, EP_xIsSelect) ){
 | 
| +    if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort;
 | 
| +  }else if( pExpr->x.pList ){
 | 
| +    if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort;
 | 
| +  }
 | 
| +  return WRC_Continue;
 | 
| +}
 | 
| +int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){
 | 
| +  return pExpr ? walkExpr(pWalker,pExpr) : WRC_Continue;
 | 
|  }
 | 
|  
 | 
|  /*
 | 
| 
 |