Lines Matching refs:pWalker
25 static int walkWindowList(Walker *pWalker, Window *pList, int bOneOnly){ in walkWindowList() argument
29 rc = sqlite3WalkExprList(pWalker, pWin->pOrderBy); in walkWindowList()
31 rc = sqlite3WalkExprList(pWalker, pWin->pPartition); in walkWindowList()
33 rc = sqlite3WalkExpr(pWalker, pWin->pFilter); in walkWindowList()
35 rc = sqlite3WalkExpr(pWalker, pWin->pStart); in walkWindowList()
37 rc = sqlite3WalkExpr(pWalker, pWin->pEnd); in walkWindowList()
64 static SQLITE_NOINLINE int walkExpr(Walker *pWalker, Expr *pExpr){ in walkExpr() argument
69 rc = pWalker->xExprCallback(pWalker, pExpr); in walkExpr()
73 if( pExpr->pLeft && walkExpr(pWalker, pExpr->pLeft) ) return WRC_Abort; in walkExpr()
80 if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort; in walkExpr()
83 if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort; 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()
104 int sqlite3WalkExprList(Walker *pWalker, ExprList *p){ in sqlite3WalkExprList() argument
109 if( sqlite3WalkExpr(pWalker, pItem->pExpr) ) return WRC_Abort; in sqlite3WalkExprList()
119 void sqlite3WalkWinDefnDummyCallback(Walker *pWalker, Select *p){ in sqlite3WalkWinDefnDummyCallback() argument
120 UNUSED_PARAMETER(pWalker); in sqlite3WalkWinDefnDummyCallback()
131 int sqlite3WalkSelectExpr(Walker *pWalker, Select *p){ in sqlite3WalkSelectExpr() argument
132 if( sqlite3WalkExprList(pWalker, p->pEList) ) return WRC_Abort; in sqlite3WalkSelectExpr()
133 if( sqlite3WalkExpr(pWalker, p->pWhere) ) return WRC_Abort; in sqlite3WalkSelectExpr()
134 if( sqlite3WalkExprList(pWalker, p->pGroupBy) ) return WRC_Abort; in sqlite3WalkSelectExpr()
135 if( sqlite3WalkExpr(pWalker, p->pHaving) ) return WRC_Abort; in sqlite3WalkSelectExpr()
136 if( sqlite3WalkExprList(pWalker, p->pOrderBy) ) return WRC_Abort; in sqlite3WalkSelectExpr()
137 if( sqlite3WalkExpr(pWalker, p->pLimit) ) return WRC_Abort; in sqlite3WalkSelectExpr()
141 if( pWalker->xSelectCallback2==sqlite3WalkWinDefnDummyCallback in sqlite3WalkSelectExpr()
142 || ((pParse = pWalker->pParse)!=0 && IN_RENAME_OBJECT) in sqlite3WalkSelectExpr()
144 || pWalker->xSelectCallback2==sqlite3SelectPopWith in sqlite3WalkSelectExpr()
149 int rc = walkWindowList(pWalker, p->pWinDefn, 0); in sqlite3WalkSelectExpr()
164 int sqlite3WalkSelectFrom(Walker *pWalker, Select *p){ in sqlite3WalkSelectFrom() argument
172 if( pItem->pSelect && sqlite3WalkSelect(pWalker, pItem->pSelect) ){ in sqlite3WalkSelectFrom()
176 && sqlite3WalkExprList(pWalker, pItem->u1.pFuncArg) in sqlite3WalkSelectFrom()
202 int sqlite3WalkSelect(Walker *pWalker, Select *p){ in sqlite3WalkSelect() argument
205 if( pWalker->xSelectCallback==0 ) return WRC_Continue; in sqlite3WalkSelect()
207 rc = pWalker->xSelectCallback(pWalker, p); in sqlite3WalkSelect()
209 if( sqlite3WalkSelectExpr(pWalker, p) in sqlite3WalkSelect()
210 || sqlite3WalkSelectFrom(pWalker, p) in sqlite3WalkSelect()
214 if( pWalker->xSelectCallback2 ){ in sqlite3WalkSelect()
215 pWalker->xSelectCallback2(pWalker, p); in sqlite3WalkSelect()
225 int sqlite3WalkerDepthIncrease(Walker *pWalker, Select *pSelect){ in sqlite3WalkerDepthIncrease() argument
227 pWalker->walkerDepth++; in sqlite3WalkerDepthIncrease()
230 void sqlite3WalkerDepthDecrease(Walker *pWalker, Select *pSelect){ in sqlite3WalkerDepthDecrease() argument
232 pWalker->walkerDepth--; in sqlite3WalkerDepthDecrease()