Lines Matching refs:pExpr
64 static SQLITE_NOINLINE int walkExpr(Walker *pWalker, Expr *pExpr){ in walkExpr() argument
66 testcase( ExprHasProperty(pExpr, EP_TokenOnly) ); in walkExpr()
67 testcase( ExprHasProperty(pExpr, EP_Reduced) ); in walkExpr()
69 rc = pWalker->xExprCallback(pWalker, pExpr); in walkExpr()
71 if( !ExprHasProperty(pExpr,(EP_TokenOnly|EP_Leaf)) ){ in walkExpr()
72 assert( pExpr->x.pList==0 || pExpr->pRight==0 ); in walkExpr()
73 if( pExpr->pLeft && walkExpr(pWalker, pExpr->pLeft) ) return WRC_Abort; in walkExpr()
74 if( pExpr->pRight ){ in walkExpr()
75 assert( !ExprHasProperty(pExpr, EP_WinFunc) ); in walkExpr()
76 pExpr = pExpr->pRight; in walkExpr()
78 }else if( ExprUseXSelect(pExpr) ){ in walkExpr()
79 assert( !ExprHasProperty(pExpr, EP_WinFunc) ); in walkExpr()
80 if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort; in walkExpr()
82 if( pExpr->x.pList ){ in walkExpr()
83 if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort; in walkExpr()
86 if( ExprHasProperty(pExpr, EP_WinFunc) ){ in walkExpr()
87 if( walkWindowList(pWalker, pExpr->y.pWin, 1) ) return WRC_Abort; in walkExpr()
96 int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){ in sqlite3WalkExpr() argument
97 return pExpr ? walkExpr(pWalker,pExpr) : WRC_Continue; in sqlite3WalkExpr()
109 if( sqlite3WalkExpr(pWalker, pItem->pExpr) ) return WRC_Abort; in sqlite3WalkExprList()