Lines Matching refs:pWalker

18173 SQLITE_PRIVATE int sqlite3CursorRangeHintExprCheck(Walker *pWalker, Expr *pExpr);
93533 SQLITE_PRIVATE int sqlite3CursorRangeHintExprCheck(Walker *pWalker, Expr *pExpr){ argument
93535 assert( (pWalker->u.aMem[pExpr->iTable].flags & MEM_Undefined)==0 );
110244 static int walkWindowList(Walker *pWalker, Window *pList, int bOneOnly){ argument
110248 rc = sqlite3WalkExprList(pWalker, pWin->pOrderBy);
110250 rc = sqlite3WalkExprList(pWalker, pWin->pPartition);
110252 rc = sqlite3WalkExpr(pWalker, pWin->pFilter);
110254 rc = sqlite3WalkExpr(pWalker, pWin->pStart);
110256 rc = sqlite3WalkExpr(pWalker, pWin->pEnd);
110283 SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3WalkExprNN(Walker *pWalker, Expr *pExpr){ argument
110288 rc = pWalker->xExprCallback(pWalker, pExpr);
110292 if( pExpr->pLeft && sqlite3WalkExprNN(pWalker, pExpr->pLeft) ){
110301 if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort;
110304 if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort;
110308 if( walkWindowList(pWalker, pExpr->y.pWin, 1) ) return WRC_Abort;
110317 SQLITE_PRIVATE int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){ argument
110318 return pExpr ? sqlite3WalkExprNN(pWalker,pExpr) : WRC_Continue;
110325 SQLITE_PRIVATE int sqlite3WalkExprList(Walker *pWalker, ExprList *p){ argument
110330 if( sqlite3WalkExpr(pWalker, pItem->pExpr) ) return WRC_Abort;
110340 SQLITE_PRIVATE void sqlite3WalkWinDefnDummyCallback(Walker *pWalker, Select *p){ argument
110341 UNUSED_PARAMETER(pWalker);
110352 SQLITE_PRIVATE int sqlite3WalkSelectExpr(Walker *pWalker, Select *p){ argument
110353 if( sqlite3WalkExprList(pWalker, p->pEList) ) return WRC_Abort;
110354 if( sqlite3WalkExpr(pWalker, p->pWhere) ) return WRC_Abort;
110355 if( sqlite3WalkExprList(pWalker, p->pGroupBy) ) return WRC_Abort;
110356 if( sqlite3WalkExpr(pWalker, p->pHaving) ) return WRC_Abort;
110357 if( sqlite3WalkExprList(pWalker, p->pOrderBy) ) return WRC_Abort;
110358 if( sqlite3WalkExpr(pWalker, p->pLimit) ) return WRC_Abort;
110362 if( pWalker->xSelectCallback2==sqlite3WalkWinDefnDummyCallback
110363 || ((pParse = pWalker->pParse)!=0 && IN_RENAME_OBJECT)
110365 || pWalker->xSelectCallback2==sqlite3SelectPopWith
110370 int rc = walkWindowList(pWalker, p->pWinDefn, 0);
110385 SQLITE_PRIVATE int sqlite3WalkSelectFrom(Walker *pWalker, Select *p){ argument
110394 && sqlite3WalkSelect(pWalker, pItem->u4.pSubq->pSelect)
110399 && sqlite3WalkExprList(pWalker, pItem->u1.pFuncArg)
110425 SQLITE_PRIVATE int sqlite3WalkSelect(Walker *pWalker, Select *p){ argument
110428 if( pWalker->xSelectCallback==0 ) return WRC_Continue;
110430 rc = pWalker->xSelectCallback(pWalker, p);
110432 if( sqlite3WalkSelectExpr(pWalker, p)
110433 || sqlite3WalkSelectFrom(pWalker, p)
110437 if( pWalker->xSelectCallback2 ){
110438 pWalker->xSelectCallback2(pWalker, p);
110448 SQLITE_PRIVATE int sqlite3WalkerDepthIncrease(Walker *pWalker, Select *pSelect){ argument
110450 pWalker->walkerDepth++;
110453 SQLITE_PRIVATE void sqlite3WalkerDepthDecrease(Walker *pWalker, Select *pSelect){ argument
110455 pWalker->walkerDepth--;
110518 static int incrAggDepth(Walker *pWalker, Expr *pExpr){ argument
110519 if( pExpr->op==TK_AGG_FUNCTION ) pExpr->op2 += pWalker->u.n;
111460 static int resolveExprStep(Walker *pWalker, Expr *pExpr){ argument
111464 pNC = pWalker->u.pNC;
111467 assert( pParse==pWalker->pParse );
111534 sqlite3WalkExpr(pWalker, pExpr->pLeft);
111807 sqlite3WalkExprList(pWalker, pList);
111812 sqlite3WalkExprList(pWalker, pExpr->pLeft->x.pList);
111822 sqlite3WalkExprList(pWalker, pWin->pPartition);
111823 sqlite3WalkExprList(pWalker, pWin->pOrderBy);
111824 sqlite3WalkExpr(pWalker, pWin->pFilter);
111835 sqlite3WalkExpr(pWalker, pExpr->y.pWin->pFilter);
111883 sqlite3WalkSelect(pWalker, pExpr->x.pSelect);
111910 int rc = resolveExprStep(pWalker, pRight);
112235 static int resolveRemoveWindowsCb(Walker *pWalker, Expr *pExpr){ argument
112236 UNUSED_PARAMETER(pWalker);
112342 static int resolveSelectStep(Walker *pWalker, Select *p){ argument
112358 pOuterNC = pWalker->u.pNC;
112359 pParse = pWalker->pParse;
114607 static int gatherSelectWindowsCallback(Walker *pWalker, Expr *pExpr){ argument
114609 Select *pSelect = pWalker->u.pSelect;
114618 static int gatherSelectWindowsSelectCallback(Walker *pWalker, Select *p){ argument
114619 return p==pWalker->u.pSelect ? WRC_Continue : WRC_Prune;
115131 SQLITE_PRIVATE int sqlite3SelectWalkFail(Walker *pWalker, Select *NotUsed){ argument
115133 pWalker->eCode = 0;
115306 Walker *pWalker, argument
115321 sqlite3WalkExprList(pWalker, pList);
115322 if( pWalker->eCode==0 ) return WRC_Abort;
115324 db = pWalker->pParse->db;
115331 pWalker->eCode = 0;
115364 static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){ argument
115365 assert( pWalker->eCode>0 );
115370 if( pWalker->eCode==2 && ExprHasProperty(pExpr, EP_OuterON) ){
115371 pWalker->eCode = 0;
115380 if( (pWalker->eCode>=4 || ExprHasProperty(pExpr,EP_ConstFunc))
115383 if( pWalker->eCode==5 ) ExprSetProperty(pExpr, EP_FromDDL);
115385 }else if( pWalker->pParse ){
115386 return exprNodeIsConstantFunction(pWalker, pExpr);
115388 pWalker->eCode = 0;
115405 if( ExprHasProperty(pExpr, EP_FixedCol) && pWalker->eCode!=2 ){
115408 if( pWalker->eCode==3 && pExpr->iTable==pWalker->u.iCur ){
115420 pWalker->eCode = 0;
115423 if( pWalker->eCode==5 ){
115428 }else if( pWalker->eCode==4 ){
115431 pWalker->eCode = 0;
115495 static int exprSelectWalkTableConstant(Walker *pWalker, Select *pSelect){ argument
115497 assert( pWalker->eCode==3 || pWalker->eCode==0 );
115499 pWalker->eCode = 0;
115613 static int exprNodeIsConstantOrGroupBy(Walker *pWalker, Expr *pExpr){ argument
115614 ExprList *pGroupBy = pWalker->u.pGroupBy;
115622 CollSeq *pColl = sqlite3ExprNNCollSeq(pWalker->pParse, p);
115631 pWalker->eCode = 0;
115635 return exprNodeIsConstant(pWalker, pExpr);
117542 static int exprNodeCanReturnSubtype(Walker *pWalker, Expr *pExpr){ argument
117555 db = pWalker->pParse->db;
117559 pWalker->eCode = 1;
119700 static void bothImplyNotNullRow(Walker *pWalker, Expr *pE1, Expr *pE2){ argument
119701 if( pWalker->eCode==0 ){
119702 sqlite3WalkExpr(pWalker, pE1);
119703 if( pWalker->eCode ){
119704 pWalker->eCode = 0;
119705 sqlite3WalkExpr(pWalker, pE2);
119723 static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){ argument
119727 if( ExprHasProperty(pExpr, EP_InnerON) && pWalker->mWFlags ){
119755 if( pWalker->u.iCur==pExpr->iTable ){
119756 pWalker->eCode = 1;
119772 bothImplyNotNullRow(pWalker, pExpr->pLeft, pExpr->pRight);
119781 sqlite3WalkExpr(pWalker, pExpr->pLeft);
119790 sqlite3WalkExpr(pWalker, pExpr->pLeft);
119791 bothImplyNotNullRow(pWalker, pExpr->x.pList->a[0].pExpr,
119893 static int exprIdxCover(Walker *pWalker, Expr *pExpr){ argument
119895 && pExpr->iTable==pWalker->u.pIdxCover->iCur
119896 && sqlite3TableColumnToIndex(pWalker->u.pIdxCover->pIdx, pExpr->iColumn)<0
119898 pWalker->eCode = 1;
119949 static int selectRefEnter(Walker *pWalker, Select *pSelect){ argument
119950 struct RefSrcList *p = pWalker->u.pRefSrcList;
119969 static void selectRefLeave(Walker *pWalker, Select *pSelect){ argument
119970 struct RefSrcList *p = pWalker->u.pRefSrcList;
119986 static int exprRefToSrcList(Walker *pWalker, Expr *pExpr){ argument
119991 struct RefSrcList *p = pWalker->u.pRefSrcList;
119996 pWalker->eCode |= 1;
120002 pWalker->eCode |= 2;
120070 static int agginfoPersistExprCb(Walker *pWalker, Expr *pExpr){ argument
120076 Parse *pParse = pWalker->pParse;
120107 SQLITE_PRIVATE void sqlite3AggInfoPersistWalkerInit(Walker *pWalker, Parse *pParse){ argument
120108 memset(pWalker, 0, sizeof(*pWalker));
120109 pWalker->pParse = pParse;
120110 pWalker->xExprCallback = agginfoPersistExprCb;
120111 pWalker->xSelectCallback = sqlite3SelectWalkNoop;
120226 static int analyzeAggregate(Walker *pWalker, Expr *pExpr){ argument
120228 NameContext *pNC = pWalker->u.pNC;
120298 && pWalker->walkerDepth==pExpr->op2
121364 static int renameUnmapExprCb(Walker *pWalker, Expr *pExpr){ argument
121365 Parse *pParse = pWalker->pParse;
121377 static void renameWalkWith(Walker *pWalker, Select *pSelect){ argument
121380 Parse *pParse = pWalker->pParse;
121400 sqlite3WalkSelect(pWalker, p);
121426 static int renameUnmapSelectCb(Walker *pWalker, Select *p){ argument
121427 Parse *pParse = pWalker->pParse;
121448 sqlite3WalkExpr(pWalker, pSrc->a[i].u3.pOn);
121455 renameWalkWith(pWalker, p);
121544 static int renameColumnSelectCb(Walker *pWalker, Select *p){ argument
121550 renameWalkWith(pWalker, p);
121563 static int renameColumnExprCb(Walker *pWalker, Expr *pExpr){ argument
121564 RenameCtx *p = pWalker->u.pRename;
121567 && pWalker->pParse->pTriggerTab==p->pTab
121569 renameTokenFind(pWalker->pParse, p, (void*)pExpr);
121575 renameTokenFind(pWalker->pParse, p, (void*)pExpr);
122002 static void renameWalkTrigger(Walker *pWalker, Trigger *pTrigger){ argument
122006 sqlite3WalkExpr(pWalker, pTrigger->pWhen);
122010 sqlite3WalkSelect(pWalker, pStep->pSelect);
122011 sqlite3WalkExpr(pWalker, pStep->pWhere);
122012 sqlite3WalkExprList(pWalker, pStep->pExprList);
122015 sqlite3WalkExprList(pWalker, pUpsert->pUpsertTarget);
122016 sqlite3WalkExprList(pWalker, pUpsert->pUpsertSet);
122017 sqlite3WalkExpr(pWalker, pUpsert->pUpsertWhere);
122018 sqlite3WalkExpr(pWalker, pUpsert->pUpsertTargetWhere);
122026 sqlite3WalkSelect(pWalker, pSrc->a[i].u4.pSubq->pSelect);
122244 static int renameTableExprCb(Walker *pWalker, Expr *pExpr){ argument
122245 RenameCtx *p = pWalker->u.pRename;
122250 renameTokenFind(pWalker->pParse, p, (void*)&pExpr->y.pTab);
122258 static int renameTableSelectCb(Walker *pWalker, Select *pSelect){ argument
122260 RenameCtx *p = pWalker->u.pRename;
122268 assert( pWalker->pParse->db->mallocFailed );
122274 renameTokenFind(pWalker->pParse, p, pItem->zName);
122277 renameWalkWith(pWalker, pSelect);
122451 static int renameQuotefixExprCb(Walker *pWalker, Expr *pExpr){ argument
122453 renameTokenFind(pWalker->pParse, pWalker->u.pRename, (const void*)pExpr);
129130 static int markImmutableExprStep(Walker *pWalker, Expr *pExpr){ argument
129131 (void)pWalker;
139163 static int exprColumnFlagUnion(Walker *pWalker, Expr *pExpr){ argument
139165 assert( pExpr->iColumn < pWalker->u.pTab->nCol );
139166 pWalker->eCode |= pWalker->u.pTab->aCol[pExpr->iColumn].colFlags;
140583 static int checkConstraintExprNode(Walker *pWalker, Expr *pExpr){ argument
140587 if( pWalker->u.aiCol[pExpr->iColumn]>=0 ){
140588 pWalker->eCode |= CKCNSTRNT_COLUMN;
140591 pWalker->eCode |= CKCNSTRNT_ROWID;
152946 static int recomputeColumnsUsedExpr(Walker *pWalker, Expr *pExpr){ argument
152949 pItem = pWalker->u.pSrcItem;
153012 static void renumberCursorDoMapping(Walker *pWalker, int *piCursor){ argument
153013 int *aCsrMap = pWalker->u.aiCol;
153024 static int renumberCursorsCb(Walker *pWalker, Expr *pExpr){ argument
153027 renumberCursorDoMapping(pWalker, &pExpr->iTable);
153030 renumberCursorDoMapping(pWalker, &pExpr->w.iJoin);
153876 static int propagateConstantExprRewrite(Walker *pWalker, Expr *pExpr){ argument
153877 WhereConst *pConst = pWalker->u.pConst;
154515 static int convertCompoundSelectToSubquery(Walker *pWalker, Select *p){ argument
154545 pParse = pWalker->pParse;
154674 Walker *pWalker, /* Current tree walker */ argument
154806 rc = sqlite3WalkSelect(pWalker, pRecTerm);
154813 if( sqlite3WalkSelect(pWalker, pSel) ){
154840 sqlite3WalkSelect(pWalker, pSel);
154859 SQLITE_PRIVATE void sqlite3SelectPopWith(Walker *pWalker, Select *p){ argument
154860 Parse *pParse = pWalker->pParse;
154959 static int selectExpander(Walker *pWalker, Select *p){ argument
154960 Parse *pParse = pWalker->pParse;
154978 if( pWalker->eCode ){
155017 if( sqlite3WalkSelect(pWalker, pSel) ) return WRC_Abort;
155021 }else if( (rc = resolveFromTermToCte(pParse, pWalker, pFrom))!=0 ){
155044 u8 eCodeOrig = pWalker->eCode;
155069 pWalker->eCode = 1; /* Turn on Select.selId renumbering */
155071 sqlite3WalkSelect(pWalker, pFrom->u4.pSubq->pSelect);
155073 pWalker->eCode = eCodeOrig;
155401 static void selectAddSubqueryTypeInfo(Walker *pWalker, Select *p){ argument
155409 pParse = pWalker->pParse;
155593 static int aggregateIdxEprRefToColCallback(Walker *pWalker, Expr *pExpr){ argument
155596 UNUSED_PARAMETER(pWalker);
155996 static int havingToWhereExprCb(Walker *pWalker, Expr *pExpr){ argument
155998 Select *pS = pWalker->u.pSelect;
156006 if( sqlite3ExprIsConstantOrGroupBy(pWalker->pParse, pExpr, pS->pGroupBy)
156010 sqlite3 *db = pWalker->pParse->db;
156015 pNew = sqlite3ExprAnd(pWalker->pParse, pWhere, pNew);
156017 pWalker->eCode = 1;
156402 static int selectCheckOnClausesExpr(Walker *pWalker, Expr *pExpr){ argument
156403 CheckOnCtx *pCtx = pWalker->u.pCheckOnCtx;
156424 sqlite3WalkExprNN(pWalker, pExpr);
156443 sqlite3ErrorMsg(pWalker->pParse,
156460 static int selectCheckOnClausesSelect(Walker *pWalker, Select *pSelect){ argument
156461 CheckOnCtx *pCtx = pWalker->u.pCheckOnCtx;
156469 pWalker->u.pCheckOnCtx = &sCtx;
156470 sqlite3WalkSelect(pWalker, pSelect);
156471 pWalker->u.pCheckOnCtx = pCtx;
159145 static int sqlite3ReturningSubqueryCorrelated(Walker *pWalker, Select *pSelect){ argument
159152 if( pSrc->a[i].pSTab==pWalker->u.pTab ){
159155 pWalker->eCode = 1;
164991 static int codeCursorHintCheckExpr(Walker *pWalker, Expr *pExpr){ argument
164992 struct CCurHint *pHint = pWalker->u.pCCurHint;
164998 pWalker->eCode = 1;
165018 static int codeCursorHintIsOrFunction(Walker *pWalker, Expr *pExpr){ argument
165023 pWalker->eCode = 1;
165027 if( 0==sqlite3IsLikeFunction(pWalker->pParse->db, pExpr, &d1, d2) ){
165028 pWalker->eCode = 1;
165053 static int codeCursorHintFixExpr(Walker *pWalker, Expr *pExpr){ argument
165056 struct CCurHint *pHint = pWalker->u.pCCurHint;
165059 reg = ++pWalker->pParse->nMem; /* Register for column value */
165060 reg = sqlite3ExprCodeTarget(pWalker->pParse, pExpr, reg);
165070 reg = ++pWalker->pParse->nMem; /* Register for column value */
165071 reg = sqlite3ExprCodeTarget(pWalker->pParse, pExpr, reg);
171795 static int exprNodePatternLengthEst(Walker *pWalker, Expr *pExpr){ argument
171801 if( pWalker->eCode ){
171818 if( sz>pWalker->u.sz ) pWalker->u.sz = sz;
175290 static int exprNodeIsDeterministic(Walker *pWalker, Expr *pExpr){ argument
175292 pWalker->eCode = 0;
177480 static int selectWindowRewriteExprCb(Walker *pWalker, Expr *pExpr){ argument
177481 struct WindowRewrite *p = pWalker->u.pRewrite;
177482 Parse *pParse = pWalker->pParse;
177563 static int selectWindowRewriteSelectCb(Walker *pWalker, Select *pSelect){ argument
177564 struct WindowRewrite *p = pWalker->u.pRewrite;
177570 sqlite3WalkSelect(pWalker, pSelect);
177665 static int sqlite3WindowExtraAggFuncDepth(Walker *pWalker, Expr *pExpr){ argument
177667 && pExpr->op2>=pWalker->walkerDepth
177674 static int disallowAggregatesInOrderByCb(Walker *pWalker, Expr *pExpr){ argument
177677 sqlite3ErrorMsg(pWalker->pParse,