pWC 115981 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC; /* The clause this term is part of */ pWC 116011 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC; /* WhereClause currently being scanned */ pWC 116101 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC; /* WHERE clause terms */ pWC 116308 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC, /* The WhereClause to be initialized */ pWC 116311 ext/sqlite3/libsqlite/sqlite3.c pWC->pWInfo = pWInfo; pWC 116312 ext/sqlite3/libsqlite/sqlite3.c pWC->pOuter = 0; pWC 116313 ext/sqlite3/libsqlite/sqlite3.c pWC->nTerm = 0; pWC 116314 ext/sqlite3/libsqlite/sqlite3.c pWC->nSlot = ArraySize(pWC->aStatic); pWC 116315 ext/sqlite3/libsqlite/sqlite3.c pWC->a = pWC->aStatic; pWC 116341 ext/sqlite3/libsqlite/sqlite3.c static void whereClauseClear(WhereClause *pWC){ pWC 116344 ext/sqlite3/libsqlite/sqlite3.c sqlite3 *db = pWC->pWInfo->pParse->db; pWC 116345 ext/sqlite3/libsqlite/sqlite3.c for(i=pWC->nTerm-1, a=pWC->a; i>=0; i--, a++){ pWC 116355 ext/sqlite3/libsqlite/sqlite3.c if( pWC->a!=pWC->aStatic ){ pWC 116356 ext/sqlite3/libsqlite/sqlite3.c sqlite3DbFree(db, pWC->a); pWC 116379 ext/sqlite3/libsqlite/sqlite3.c static int whereClauseInsert(WhereClause *pWC, Expr *p, u16 wtFlags){ pWC 116383 ext/sqlite3/libsqlite/sqlite3.c if( pWC->nTerm>=pWC->nSlot ){ pWC 116384 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pOld = pWC->a; pWC 116385 ext/sqlite3/libsqlite/sqlite3.c sqlite3 *db = pWC->pWInfo->pParse->db; pWC 116386 ext/sqlite3/libsqlite/sqlite3.c pWC->a = sqlite3DbMallocRaw(db, sizeof(pWC->a[0])*pWC->nSlot*2 ); pWC 116387 ext/sqlite3/libsqlite/sqlite3.c if( pWC->a==0 ){ pWC 116391 ext/sqlite3/libsqlite/sqlite3.c pWC->a = pOld; pWC 116394 ext/sqlite3/libsqlite/sqlite3.c memcpy(pWC->a, pOld, sizeof(pWC->a[0])*pWC->nTerm); pWC 116395 ext/sqlite3/libsqlite/sqlite3.c if( pOld!=pWC->aStatic ){ pWC 116398 ext/sqlite3/libsqlite/sqlite3.c pWC->nSlot = sqlite3DbMallocSize(db, pWC->a)/sizeof(pWC->a[0]); pWC 116399 ext/sqlite3/libsqlite/sqlite3.c memset(&pWC->a[pWC->nTerm], 0, sizeof(pWC->a[0])*(pWC->nSlot-pWC->nTerm)); pWC 116401 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idx = pWC->nTerm++]; pWC 116409 ext/sqlite3/libsqlite/sqlite3.c pTerm->pWC = pWC; pWC 116431 ext/sqlite3/libsqlite/sqlite3.c static void whereSplit(WhereClause *pWC, Expr *pExpr, u8 op){ pWC 116433 ext/sqlite3/libsqlite/sqlite3.c pWC->op = op; pWC 116436 ext/sqlite3/libsqlite/sqlite3.c whereClauseInsert(pWC, pExpr, 0); pWC 116438 ext/sqlite3/libsqlite/sqlite3.c whereSplit(pWC, pE2->pLeft, op); pWC 116439 ext/sqlite3/libsqlite/sqlite3.c whereSplit(pWC, pE2->pRight, op); pWC 116616 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC; /* Shorthand for pScan->pWC */ pWC 116623 ext/sqlite3/libsqlite/sqlite3.c while( (pWC = pScan->pWC)!=0 ){ pWC 116624 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a+k; k<pWC->nTerm; k++, pTerm++){ pWC 116651 ext/sqlite3/libsqlite/sqlite3.c Parse *pParse = pWC->pWInfo->pParse; pWC 116676 ext/sqlite3/libsqlite/sqlite3.c pScan->pWC = pScan->pWC->pOuter; pWC 116679 ext/sqlite3/libsqlite/sqlite3.c pScan->pWC = pScan->pOrigWC; pWC 116704 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC, /* The WHERE clause to be scanned */ pWC 116713 ext/sqlite3/libsqlite/sqlite3.c pScan->pOrigWC = pWC; pWC 116714 ext/sqlite3/libsqlite/sqlite3.c pScan->pWC = pWC; pWC 116758 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC, /* The WHERE clause to be searched */ pWC 116769 ext/sqlite3/libsqlite/sqlite3.c p = whereScanInit(&scan, pWC, iCur, iColumn, op, pIdx); pWC 116790 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC /* the WHERE clause to be analyzed */ pWC 116793 ext/sqlite3/libsqlite/sqlite3.c for(i=pWC->nTerm-1; i>=0; i--){ pWC 116794 ext/sqlite3/libsqlite/sqlite3.c exprAnalyze(pTabList, pWC, i); pWC 116942 ext/sqlite3/libsqlite/sqlite3.c static void markTermAsChild(WhereClause *pWC, int iChild, int iParent){ pWC 116943 ext/sqlite3/libsqlite/sqlite3.c pWC->a[iChild].iParent = iParent; pWC 116944 ext/sqlite3/libsqlite/sqlite3.c pWC->a[iChild].truthProb = pWC->a[iParent].truthProb; pWC 116945 ext/sqlite3/libsqlite/sqlite3.c pWC->a[iParent].nChild++; pWC 116985 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC, /* The complete WHERE clause */ pWC 117012 ext/sqlite3/libsqlite/sqlite3.c db = pWC->pWInfo->pParse->db; pWC 117017 ext/sqlite3/libsqlite/sqlite3.c idxNew = whereClauseInsert(pWC, pNew, TERM_VIRTUAL|TERM_DYNAMIC); pWC 117018 ext/sqlite3/libsqlite/sqlite3.c exprAnalyze(pSrc, pWC, idxNew); pWC 117111 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC, /* the complete WHERE clause */ pWC 117114 ext/sqlite3/libsqlite/sqlite3.c WhereInfo *pWInfo = pWC->pWInfo; /* WHERE clause processing context */ pWC 117117 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm = &pWC->a[idxTerm]; /* The term to be analyzed */ pWC 117163 ext/sqlite3/libsqlite/sqlite3.c whereClauseInit(pAndWC, pWC->pWInfo); pWC 117166 ext/sqlite3/libsqlite/sqlite3.c pAndWC->pOuter = pWC; pWC 117213 ext/sqlite3/libsqlite/sqlite3.c whereCombineDisjuncts(pSrc, pWC, pOne, pTwo); pWC 117339 ext/sqlite3/libsqlite/sqlite3.c idxNew = whereClauseInsert(pWC, pNew, TERM_VIRTUAL|TERM_DYNAMIC); pWC 117341 ext/sqlite3/libsqlite/sqlite3.c exprAnalyze(pSrc, pWC, idxNew); pWC 117342 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pWC 117343 ext/sqlite3/libsqlite/sqlite3.c markTermAsChild(pWC, idxNew, idxTerm); pWC 117373 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC, /* the WHERE clause */ pWC 117376 ext/sqlite3/libsqlite/sqlite3.c WhereInfo *pWInfo = pWC->pWInfo; /* WHERE clause processing context */ pWC 117393 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pWC 117442 ext/sqlite3/libsqlite/sqlite3.c idxNew = whereClauseInsert(pWC, pDup, TERM_VIRTUAL|TERM_DYNAMIC); pWC 117444 ext/sqlite3/libsqlite/sqlite3.c pNew = &pWC->a[idxNew]; pWC 117445 ext/sqlite3/libsqlite/sqlite3.c markTermAsChild(pWC, idxNew, idxTerm); pWC 117446 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pWC 117486 ext/sqlite3/libsqlite/sqlite3.c else if( pExpr->op==TK_BETWEEN && pWC->op==TK_AND ){ pWC 117499 ext/sqlite3/libsqlite/sqlite3.c idxNew = whereClauseInsert(pWC, pNewExpr, TERM_VIRTUAL|TERM_DYNAMIC); pWC 117501 ext/sqlite3/libsqlite/sqlite3.c exprAnalyze(pSrc, pWC, idxNew); pWC 117502 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pWC 117503 ext/sqlite3/libsqlite/sqlite3.c markTermAsChild(pWC, idxNew, idxTerm); pWC 117513 ext/sqlite3/libsqlite/sqlite3.c assert( pWC->op==TK_AND ); pWC 117514 ext/sqlite3/libsqlite/sqlite3.c exprAnalyzeOrTerm(pSrc, pWC, idxTerm); pWC 117515 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pWC 117533 ext/sqlite3/libsqlite/sqlite3.c if( pWC->op==TK_AND pWC 117584 ext/sqlite3/libsqlite/sqlite3.c idxNew1 = whereClauseInsert(pWC, pNewExpr1, wtFlags); pWC 117586 ext/sqlite3/libsqlite/sqlite3.c exprAnalyze(pSrc, pWC, idxNew1); pWC 117592 ext/sqlite3/libsqlite/sqlite3.c idxNew2 = whereClauseInsert(pWC, pNewExpr2, wtFlags); pWC 117594 ext/sqlite3/libsqlite/sqlite3.c exprAnalyze(pSrc, pWC, idxNew2); pWC 117595 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pWC 117597 ext/sqlite3/libsqlite/sqlite3.c markTermAsChild(pWC, idxNew1, idxTerm); pWC 117598 ext/sqlite3/libsqlite/sqlite3.c markTermAsChild(pWC, idxNew2, idxTerm); pWC 117624 ext/sqlite3/libsqlite/sqlite3.c idxNew = whereClauseInsert(pWC, pNewExpr, TERM_VIRTUAL|TERM_DYNAMIC); pWC 117626 ext/sqlite3/libsqlite/sqlite3.c pNewTerm = &pWC->a[idxNew]; pWC 117631 ext/sqlite3/libsqlite/sqlite3.c markTermAsChild(pWC, idxNew, idxTerm); pWC 117632 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pWC 117664 ext/sqlite3/libsqlite/sqlite3.c idxNew = whereClauseInsert(pWC, pNewExpr, pWC 117667 ext/sqlite3/libsqlite/sqlite3.c pNewTerm = &pWC->a[idxNew]; pWC 117672 ext/sqlite3/libsqlite/sqlite3.c markTermAsChild(pWC, idxNew, idxTerm); pWC 117673 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pWC 117729 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC, /* The WHERE clause */ pWC 117770 ext/sqlite3/libsqlite/sqlite3.c if( 0==findTerm(pWC, iBase, iCol, ~(Bitmask)0, WO_EQ, pIdx) ){ pWC 117870 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC, /* The WHERE clause */ pWC 117906 ext/sqlite3/libsqlite/sqlite3.c pWCEnd = &pWC->a[pWC->nTerm]; pWC 117909 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){ pWC 117973 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){ pWC 118053 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC, pWC 118068 ext/sqlite3/libsqlite/sqlite3.c for(i=nTerm=0, pTerm=pWC->a; i<pWC->nTerm; i++, pTerm++){ pWC 118120 ext/sqlite3/libsqlite/sqlite3.c for(i=j=0, pTerm=pWC->a; i<pWC->nTerm; i++, pTerm++){ pWC 118898 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pTerm->pWC->a[pTerm->iParent]; pWC 119407 ext/sqlite3/libsqlite/sqlite3.c || pTerm->pWC->pWInfo->pParse->db->mallocFailed ); pWC 119429 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC; /* Decomposition of the entire WHERE clause */ pWC 119442 ext/sqlite3/libsqlite/sqlite3.c pWC = &pWInfo->sWC; pWC 120053 ext/sqlite3/libsqlite/sqlite3.c if( pWC->nTerm>1 ){ pWC 120055 ext/sqlite3/libsqlite/sqlite3.c for(iTerm=0; iTerm<pWC->nTerm; iTerm++){ pWC 120056 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pWC->a[iTerm].pExpr; pWC 120057 ext/sqlite3/libsqlite/sqlite3.c if( &pWC->a[iTerm] == pTerm ) continue; pWC 120059 ext/sqlite3/libsqlite/sqlite3.c if( (pWC->a[iTerm].wtFlags & TERM_VIRTUAL)!=0 ) continue; pWC 120060 ext/sqlite3/libsqlite/sqlite3.c if( (pWC->a[iTerm].eOperator & WO_ALL)==0 ) continue; pWC 120061 ext/sqlite3/libsqlite/sqlite3.c testcase( pWC->a[iTerm].wtFlags & TERM_ORINFO ); pWC 120237 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a, j=pWC->nTerm; j>0; j--, pTerm++){ pWC 120272 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a, j=pWC->nTerm; j>0; j--, pTerm++){ pWC 120282 ext/sqlite3/libsqlite/sqlite3.c pAlt = findTerm(pWC, iCur, pTerm->u.leftColumn, notReady, WO_EQ|WO_IN, 0); pWC 120305 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a, j=0; j<pWC->nTerm; j++, pTerm++){ pWC 120347 ext/sqlite3/libsqlite/sqlite3.c static void whereLoopPrint(WhereLoop *p, WhereClause *pWC){ pWC 120348 ext/sqlite3/libsqlite/sqlite3.c WhereInfo *pWInfo = pWC->pWInfo; pWC 120692 ext/sqlite3/libsqlite/sqlite3.c whereLoopPrint(pTemplate, pBuilder->pWC); pWC 120709 ext/sqlite3/libsqlite/sqlite3.c whereLoopPrint(pTemplate, pBuilder->pWC); pWC 120725 ext/sqlite3/libsqlite/sqlite3.c whereLoopPrint(p, pBuilder->pWC); pWC 120728 ext/sqlite3/libsqlite/sqlite3.c whereLoopPrint(pTemplate, pBuilder->pWC); pWC 120752 ext/sqlite3/libsqlite/sqlite3.c whereLoopPrint(pToDel, pBuilder->pWC); pWC 120798 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC, /* The WHERE clause */ pWC 120808 ext/sqlite3/libsqlite/sqlite3.c for(i=pWC->nTerm, pTerm=pWC->a; i>0; i--, pTerm++){ pWC 120816 ext/sqlite3/libsqlite/sqlite3.c if( pX->iParent>=0 && (&pWC->a[pX->iParent])==pTerm ) break; pWC 120906 ext/sqlite3/libsqlite/sqlite3.c pTerm = whereScanInit(&scan, pBuilder->pWC, pSrc->iCursor, iCol, pWC 120983 ext/sqlite3/libsqlite/sqlite3.c assert( (pTop-(pTerm->pWC->a))<pTerm->pWC->nTerm ); pWC 121072 ext/sqlite3/libsqlite/sqlite3.c whereLoopOutputAdjust(pBuilder->pWC, pNew, rSize); pWC 121187 ext/sqlite3/libsqlite/sqlite3.c static int whereUsablePartialIndex(int iTab, WhereClause *pWC, Expr *pWhere){ pWC 121190 ext/sqlite3/libsqlite/sqlite3.c for(i=0, pTerm=pWC->a; i<pWC->nTerm; i++, pTerm++){ pWC 121254 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC; /* The parsed WHERE clause */ pWC 121262 ext/sqlite3/libsqlite/sqlite3.c pWC = pBuilder->pWC; pWC 121311 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pWCEnd = pWC->a + pWC->nTerm; pWC 121312 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a; rc==SQLITE_OK && pTerm<pWCEnd; pTerm++){ pWC 121351 ext/sqlite3/libsqlite/sqlite3.c && !whereUsablePartialIndex(pSrc->iCursor, pWC, pProbe->pPartIdxWhere) ){ pWC 121376 ext/sqlite3/libsqlite/sqlite3.c whereLoopOutputAdjust(pWC, pNew, rSize); pWC 121412 ext/sqlite3/libsqlite/sqlite3.c whereLoopOutputAdjust(pWC, pNew, rSize); pWC 121444 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC; /* The WHERE clause */ pWC 121464 ext/sqlite3/libsqlite/sqlite3.c pWC = pBuilder->pWC; pWC 121469 ext/sqlite3/libsqlite/sqlite3.c pIdxInfo = allocateIndexInfo(pParse, pWC, pSrc, pBuilder->pOrderBy); pWC 121492 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[j]; pWC 121540 ext/sqlite3/libsqlite/sqlite3.c || j>=pWC->nTerm pWC 121549 ext/sqlite3/libsqlite/sqlite3.c testcase( j==pWC->nTerm-1 ); pWC 121550 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[j]; pWC 121608 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC; pWC 121618 ext/sqlite3/libsqlite/sqlite3.c pWC = pBuilder->pWC; pWC 121619 ext/sqlite3/libsqlite/sqlite3.c pWCEnd = pWC->a + pWC->nTerm; pWC 121625 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a; pTerm<pWCEnd && rc==SQLITE_OK; pTerm++){ pWC 121642 ext/sqlite3/libsqlite/sqlite3.c sSubBuild.pWC = &pOrTerm->u.pAndInfo->wc; pWC 121644 ext/sqlite3/libsqlite/sqlite3.c tempWC.pWInfo = pWC->pWInfo; pWC 121645 ext/sqlite3/libsqlite/sqlite3.c tempWC.pOuter = pWC; pWC 121649 ext/sqlite3/libsqlite/sqlite3.c sSubBuild.pWC = &tempWC; pWC 121656 ext/sqlite3/libsqlite/sqlite3.c (int)(pOrTerm-pOrWC->a), pTerm, sSubBuild.pWC->nTerm)); pWC 121658 ext/sqlite3/libsqlite/sqlite3.c for(i=0; i<sSubBuild.pWC->nTerm; i++){ pWC 121659 ext/sqlite3/libsqlite/sqlite3.c whereTermPrint(&sSubBuild.pWC->a[i], i); pWC 122461 ext/sqlite3/libsqlite/sqlite3.c WhereClause *pWC; pWC 122477 ext/sqlite3/libsqlite/sqlite3.c pWC = &pWInfo->sWC; pWC 122481 ext/sqlite3/libsqlite/sqlite3.c pTerm = findTerm(pWC, iCur, -1, 0, WO_EQ, 0); pWC 122497 ext/sqlite3/libsqlite/sqlite3.c pTerm = findTerm(pWC, iCur, pIdx->aiColumn[j], 0, WO_EQ, pIdx); pWC 122699 ext/sqlite3/libsqlite/sqlite3.c sWLB.pWC = &pWInfo->sWC; pWC 122717 ext/sqlite3/libsqlite/sqlite3.c for(ii=0; ii<sWLB.pWC->nTerm; ii++){ pWC 122718 ext/sqlite3/libsqlite/sqlite3.c if( nTabList==0 || sqlite3ExprIsConstantNotJoin(sWLB.pWC->a[ii].pExpr) ){ pWC 122719 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfFalse(pParse, sWLB.pWC->a[ii].pExpr, pWInfo->iBreak, pWC 122721 ext/sqlite3/libsqlite/sqlite3.c sWLB.pWC->a[ii].wtFlags |= TERM_CODED; pWC 122791 ext/sqlite3/libsqlite/sqlite3.c for(i=0; i<sWLB.pWC->nTerm; i++){ pWC 122792 ext/sqlite3/libsqlite/sqlite3.c whereTermPrint(&sWLB.pWC->a[i], i); pWC 122810 ext/sqlite3/libsqlite/sqlite3.c whereLoopPrint(p, sWLB.pWC); pWC 122850 ext/sqlite3/libsqlite/sqlite3.c whereLoopPrint(pWInfo->a[ii].pWLoop, sWLB.pWC); pWC 122871 ext/sqlite3/libsqlite/sqlite3.c pEnd = sWLB.pWC->a + sWLB.pWC->nTerm; pWC 122872 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=sWLB.pWC->a; pTerm<pEnd; pTerm++){