pTerm 87043 ext/sqlite3/libsqlite/sqlite3.c struct ExprList_item *pTerm = pGB->a; pTerm 87045 ext/sqlite3/libsqlite/sqlite3.c for(j=0; j<n; j++, pTerm++){ pTerm 87046 ext/sqlite3/libsqlite/sqlite3.c Expr *pE = pTerm->pExpr; pTerm 108355 ext/sqlite3/libsqlite/sqlite3.c Expr *pTerm = pItem->pExpr; pTerm 108358 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->flags & EP_Collate ){ pTerm 108359 ext/sqlite3/libsqlite/sqlite3.c pColl = sqlite3ExprCollSeq(pParse, pTerm); pTerm 108364 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprAddCollateString(pParse, pTerm, pColl->zName); pTerm 116380 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; pTerm 116401 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idx = pWC->nTerm++]; pTerm 116403 ext/sqlite3/libsqlite/sqlite3.c pTerm->truthProb = sqlite3LogEst(p->iTable) - 270; pTerm 116405 ext/sqlite3/libsqlite/sqlite3.c pTerm->truthProb = 1; pTerm 116407 ext/sqlite3/libsqlite/sqlite3.c pTerm->pExpr = sqlite3ExprSkipCollate(p); pTerm 116408 ext/sqlite3/libsqlite/sqlite3.c pTerm->wtFlags = wtFlags; pTerm 116409 ext/sqlite3/libsqlite/sqlite3.c pTerm->pWC = pWC; pTerm 116410 ext/sqlite3/libsqlite/sqlite3.c pTerm->iParent = -1; pTerm 116617 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; /* The term being tested */ pTerm 116624 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a+k; k<pWC->nTerm; k++, pTerm++){ pTerm 116625 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->leftCursor==iCur pTerm 116626 ext/sqlite3/libsqlite/sqlite3.c && pTerm->u.leftColumn==iColumn pTerm 116627 ext/sqlite3/libsqlite/sqlite3.c && (pScan->iEquiv<=2 || !ExprHasProperty(pTerm->pExpr, EP_FromJoin)) pTerm 116629 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->eOperator & WO_EQUIV)!=0 pTerm 116633 ext/sqlite3/libsqlite/sqlite3.c pX = sqlite3ExprSkipCollate(pTerm->pExpr->pRight); pTerm 116647 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->eOperator & pScan->opMask)!=0 ){ pTerm 116649 ext/sqlite3/libsqlite/sqlite3.c if( pScan->zCollName && (pTerm->eOperator & WO_ISNULL)==0 ){ pTerm 116652 ext/sqlite3/libsqlite/sqlite3.c pX = pTerm->pExpr; pTerm 116664 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->eOperator & WO_EQ)!=0 pTerm 116665 ext/sqlite3/libsqlite/sqlite3.c && (pX = pTerm->pExpr->pRight)->op==TK_COLUMN pTerm 116672 ext/sqlite3/libsqlite/sqlite3.c return pTerm; pTerm 116953 ext/sqlite3/libsqlite/sqlite3.c static WhereTerm *whereNthSubterm(WhereTerm *pTerm, int N){ pTerm 116954 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->eOperator!=WO_AND ){ pTerm 116955 ext/sqlite3/libsqlite/sqlite3.c return N==0 ? pTerm : 0; pTerm 116957 ext/sqlite3/libsqlite/sqlite3.c if( N<pTerm->u.pAndInfo->wc.nTerm ){ pTerm 116958 ext/sqlite3/libsqlite/sqlite3.c return &pTerm->u.pAndInfo->wc.a[N]; pTerm 117117 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm = &pWC->a[idxTerm]; /* The term to be analyzed */ pTerm 117118 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pTerm->pExpr; /* The expression of the term */ pTerm 117131 ext/sqlite3/libsqlite/sqlite3.c assert( (pTerm->wtFlags & (TERM_DYNAMIC|TERM_ORINFO|TERM_ANDINFO))==0 ); pTerm 117133 ext/sqlite3/libsqlite/sqlite3.c pTerm->u.pOrInfo = pOrInfo = sqlite3DbMallocZero(db, sizeof(*pOrInfo)); pTerm 117135 ext/sqlite3/libsqlite/sqlite3.c pTerm->wtFlags |= TERM_ORINFO; pTerm 117202 ext/sqlite3/libsqlite/sqlite3.c pTerm->eOperator = indexable==0 ? 0 : WO_OR; pTerm 117342 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pTerm 117347 ext/sqlite3/libsqlite/sqlite3.c pTerm->eOperator = WO_NOOP; /* case 1 trumps case 3 */ pTerm 117377 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; /* The term to be analyzed */ pTerm 117393 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pTerm 117395 ext/sqlite3/libsqlite/sqlite3.c pExpr = pTerm->pExpr; pTerm 117402 ext/sqlite3/libsqlite/sqlite3.c pTerm->prereqRight = exprSelectTableUsage(pMaskSet, pExpr->x.pSelect); pTerm 117404 ext/sqlite3/libsqlite/sqlite3.c pTerm->prereqRight = exprListTableUsage(pMaskSet, pExpr->x.pList); pTerm 117407 ext/sqlite3/libsqlite/sqlite3.c pTerm->prereqRight = 0; pTerm 117409 ext/sqlite3/libsqlite/sqlite3.c pTerm->prereqRight = exprTableUsage(pMaskSet, pExpr->pRight); pTerm 117418 ext/sqlite3/libsqlite/sqlite3.c pTerm->prereqAll = prereqAll; pTerm 117419 ext/sqlite3/libsqlite/sqlite3.c pTerm->leftCursor = -1; pTerm 117420 ext/sqlite3/libsqlite/sqlite3.c pTerm->iParent = -1; pTerm 117421 ext/sqlite3/libsqlite/sqlite3.c pTerm->eOperator = 0; pTerm 117425 ext/sqlite3/libsqlite/sqlite3.c u16 opMask = (pTerm->prereqRight & prereqLeft)==0 ? WO_ALL : WO_EQUIV; pTerm 117427 ext/sqlite3/libsqlite/sqlite3.c pTerm->leftCursor = pLeft->iTable; pTerm 117428 ext/sqlite3/libsqlite/sqlite3.c pTerm->u.leftColumn = pLeft->iColumn; pTerm 117429 ext/sqlite3/libsqlite/sqlite3.c pTerm->eOperator = operatorMask(op) & opMask; pTerm 117435 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->leftCursor>=0 ){ pTerm 117446 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pTerm 117447 ext/sqlite3/libsqlite/sqlite3.c pTerm->wtFlags |= TERM_COPIED; pTerm 117452 ext/sqlite3/libsqlite/sqlite3.c pTerm->eOperator |= WO_EQUIV; pTerm 117457 ext/sqlite3/libsqlite/sqlite3.c pNew = pTerm; pTerm 117502 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pTerm 117515 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pTerm 117555 ext/sqlite3/libsqlite/sqlite3.c pTerm->wtFlags |= TERM_LIKE; pTerm 117595 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pTerm 117632 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pTerm 117633 ext/sqlite3/libsqlite/sqlite3.c pTerm->wtFlags |= TERM_COPIED; pTerm 117634 ext/sqlite3/libsqlite/sqlite3.c pNewTerm->prereqAll = pTerm->prereqAll; pTerm 117673 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[idxTerm]; pTerm 117674 ext/sqlite3/libsqlite/sqlite3.c pTerm->wtFlags |= TERM_COPIED; pTerm 117675 ext/sqlite3/libsqlite/sqlite3.c pNewTerm->prereqAll = pTerm->prereqAll; pTerm 117683 ext/sqlite3/libsqlite/sqlite3.c pTerm->prereqRight |= extraRight; pTerm 117846 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm, /* WHERE clause term to check */ pTerm 117851 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->leftCursor!=pSrc->iCursor ) return 0; pTerm 117852 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->eOperator & WO_EQ)==0 ) return 0; pTerm 117853 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->prereqRight & notReady)!=0 ) return 0; pTerm 117854 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->u.leftColumn<0 ) return 0; pTerm 117855 ext/sqlite3/libsqlite/sqlite3.c aff = pSrc->pTab->aCol[pTerm->u.leftColumn].affinity; pTerm 117856 ext/sqlite3/libsqlite/sqlite3.c if( !sqlite3IndexAffinityOk(pTerm->pExpr, aff) ) return 0; pTerm 117876 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; /* A single term of the WHERE clause */ pTerm 117909 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){ pTerm 117910 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pTerm->pExpr; pTerm 117915 ext/sqlite3/libsqlite/sqlite3.c && (pTerm->wtFlags & TERM_VIRTUAL)==0 pTerm 117921 ext/sqlite3/libsqlite/sqlite3.c if( termCanDriveIndex(pTerm, pSrc, notReady) ){ pTerm 117922 ext/sqlite3/libsqlite/sqlite3.c int iCol = pTerm->u.leftColumn; pTerm 117936 ext/sqlite3/libsqlite/sqlite3.c pLoop->aLTerm[nKeyCol++] = pTerm; pTerm 117973 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){ pTerm 117974 ext/sqlite3/libsqlite/sqlite3.c if( termCanDriveIndex(pTerm, pSrc, notReady) ){ pTerm 117975 ext/sqlite3/libsqlite/sqlite3.c int iCol = pTerm->u.leftColumn; pTerm 117980 ext/sqlite3/libsqlite/sqlite3.c Expr *pX = pTerm->pExpr; pTerm 117982 ext/sqlite3/libsqlite/sqlite3.c pIdx->aiColumn[n] = pTerm->u.leftColumn; pTerm 118062 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; pTerm 118068 ext/sqlite3/libsqlite/sqlite3.c for(i=nTerm=0, pTerm=pWC->a; i<pWC->nTerm; i++, pTerm++){ pTerm 118069 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->leftCursor != pSrc->iCursor ) continue; pTerm 118070 ext/sqlite3/libsqlite/sqlite3.c assert( IsPowerOfTwo(pTerm->eOperator & ~WO_EQUIV) ); pTerm 118071 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->eOperator & WO_IN ); pTerm 118072 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->eOperator & WO_ISNULL ); pTerm 118073 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->eOperator & WO_ALL ); pTerm 118074 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->eOperator & ~(WO_ISNULL|WO_EQUIV))==0 ) continue; pTerm 118075 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->wtFlags & TERM_VNULL ) continue; pTerm 118120 ext/sqlite3/libsqlite/sqlite3.c for(i=j=0, pTerm=pWC->a; i<pWC->nTerm; i++, pTerm++){ pTerm 118122 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->leftCursor != pSrc->iCursor ) continue; pTerm 118123 ext/sqlite3/libsqlite/sqlite3.c assert( IsPowerOfTwo(pTerm->eOperator & ~WO_EQUIV) ); pTerm 118124 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->eOperator & WO_IN ); pTerm 118125 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->eOperator & WO_ISNULL ); pTerm 118126 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->eOperator & WO_ALL ); pTerm 118127 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->eOperator & ~(WO_ISNULL|WO_EQUIV))==0 ) continue; pTerm 118128 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->wtFlags & TERM_VNULL ) continue; pTerm 118129 ext/sqlite3/libsqlite/sqlite3.c pIdxCons[j].iColumn = pTerm->u.leftColumn; pTerm 118131 ext/sqlite3/libsqlite/sqlite3.c op = (u8)pTerm->eOperator & WO_ALL; pTerm 118143 ext/sqlite3/libsqlite/sqlite3.c assert( pTerm->eOperator & (WO_IN|WO_EQ|WO_LT|WO_LE|WO_GT|WO_GE|WO_MATCH) ); pTerm 118407 ext/sqlite3/libsqlite/sqlite3.c static LogEst whereRangeAdjust(WhereTerm *pTerm, LogEst nNew){ pTerm 118409 ext/sqlite3/libsqlite/sqlite3.c if( pTerm ){ pTerm 118410 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->truthProb<=0 ){ pTerm 118411 ext/sqlite3/libsqlite/sqlite3.c nRet += pTerm->truthProb; pTerm 118412 ext/sqlite3/libsqlite/sqlite3.c }else if( (pTerm->wtFlags & TERM_VNULL)==0 ){ pTerm 118885 ext/sqlite3/libsqlite/sqlite3.c static void disableTerm(WhereLevel *pLevel, WhereTerm *pTerm){ pTerm 118887 ext/sqlite3/libsqlite/sqlite3.c while( pTerm pTerm 118888 ext/sqlite3/libsqlite/sqlite3.c && (pTerm->wtFlags & TERM_CODED)==0 pTerm 118889 ext/sqlite3/libsqlite/sqlite3.c && (pLevel->iLeftJoin==0 || ExprHasProperty(pTerm->pExpr, EP_FromJoin)) pTerm 118890 ext/sqlite3/libsqlite/sqlite3.c && (pLevel->notReady & pTerm->prereqAll)==0 pTerm 118892 ext/sqlite3/libsqlite/sqlite3.c if( nLoop && (pTerm->wtFlags & TERM_LIKE)!=0 ){ pTerm 118893 ext/sqlite3/libsqlite/sqlite3.c pTerm->wtFlags |= TERM_LIKECOND; pTerm 118895 ext/sqlite3/libsqlite/sqlite3.c pTerm->wtFlags |= TERM_CODED; pTerm 118897 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->iParent<0 ) break; pTerm 118898 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pTerm->pWC->a[pTerm->iParent]; pTerm 118899 ext/sqlite3/libsqlite/sqlite3.c pTerm->nChild--; pTerm 118900 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->nChild!=0 ) break; pTerm 118958 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm, /* The term of the WHERE clause to be coded */ pTerm 118964 ext/sqlite3/libsqlite/sqlite3.c Expr *pX = pTerm->pExpr; pTerm 119025 ext/sqlite3/libsqlite/sqlite3.c disableTerm(pLevel, pTerm); pTerm 119085 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; /* A single constraint term */ pTerm 119135 ext/sqlite3/libsqlite/sqlite3.c pTerm = pLoop->aLTerm[j]; pTerm 119136 ext/sqlite3/libsqlite/sqlite3.c assert( pTerm!=0 ); pTerm 119139 ext/sqlite3/libsqlite/sqlite3.c testcase( (pTerm->wtFlags & TERM_CODED)!=0 ); pTerm 119140 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->wtFlags & TERM_VIRTUAL ); pTerm 119141 ext/sqlite3/libsqlite/sqlite3.c r1 = codeEqualityTerm(pParse, pTerm, pLevel, j, bRev, regBase+j); pTerm 119150 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->eOperator & WO_ISNULL ); pTerm 119151 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->eOperator & WO_IN ); pTerm 119152 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->eOperator & (WO_ISNULL|WO_IN))==0 ){ pTerm 119153 ext/sqlite3/libsqlite/sqlite3.c Expr *pRight = pTerm->pExpr->pRight; pTerm 119399 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm /* The upper or lower bound just coded */ pTerm 119401 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->wtFlags & TERM_LIKEOPT ){ pTerm 119407 ext/sqlite3/libsqlite/sqlite3.c || pTerm->pWC->pWInfo->pParse->db->mallocFailed ); pTerm 119430 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; /* A WHERE clause term */ pTerm 119501 ext/sqlite3/libsqlite/sqlite3.c pTerm = pLoop->aLTerm[j]; pTerm 119502 ext/sqlite3/libsqlite/sqlite3.c if( pTerm==0 ) continue; pTerm 119503 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->eOperator & WO_IN ){ pTerm 119504 ext/sqlite3/libsqlite/sqlite3.c codeEqualityTerm(pParse, pTerm, pLevel, j, bRev, iTarget); pTerm 119507 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pTerm->pExpr->pRight, iTarget); pTerm 119539 ext/sqlite3/libsqlite/sqlite3.c pTerm = pLoop->aLTerm[0]; pTerm 119540 ext/sqlite3/libsqlite/sqlite3.c assert( pTerm!=0 ); pTerm 119541 ext/sqlite3/libsqlite/sqlite3.c assert( pTerm->pExpr!=0 ); pTerm 119543 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->wtFlags & TERM_VIRTUAL ); pTerm 119545 ext/sqlite3/libsqlite/sqlite3.c iRowidReg = codeEqualityTerm(pParse, pTerm, pLevel, 0, bRev, iReleaseReg); pTerm 119572 ext/sqlite3/libsqlite/sqlite3.c pTerm = pStart; pTerm 119574 ext/sqlite3/libsqlite/sqlite3.c pEnd = pTerm; pTerm 119983 ext/sqlite3/libsqlite/sqlite3.c pTerm = pLoop->aLTerm[0]; pTerm 119984 ext/sqlite3/libsqlite/sqlite3.c assert( pTerm!=0 ); pTerm 119985 ext/sqlite3/libsqlite/sqlite3.c assert( pTerm->eOperator & WO_OR ); pTerm 119986 ext/sqlite3/libsqlite/sqlite3.c assert( (pTerm->wtFlags & TERM_ORINFO)!=0 ); pTerm 119987 ext/sqlite3/libsqlite/sqlite3.c pOrWc = &pTerm->u.pOrInfo->wc; pTerm 120057 ext/sqlite3/libsqlite/sqlite3.c if( &pWC->a[iTerm] == pTerm ) continue; pTerm 120205 ext/sqlite3/libsqlite/sqlite3.c if( !untestedTerms ) disableTerm(pLevel, pTerm); pTerm 120237 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a, j=pWC->nTerm; j>0; j--, pTerm++){ pTerm 120240 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->wtFlags & TERM_VIRTUAL ); pTerm 120241 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->wtFlags & TERM_CODED ); pTerm 120242 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue; pTerm 120243 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->prereqAll & pLevel->notReady)!=0 ){ pTerm 120249 ext/sqlite3/libsqlite/sqlite3.c pE = pTerm->pExpr; pTerm 120254 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->wtFlags & TERM_LIKECOND ){ pTerm 120261 ext/sqlite3/libsqlite/sqlite3.c pTerm->wtFlags |= TERM_CODED; pTerm 120272 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a, j=pWC->nTerm; j>0; j--, pTerm++){ pTerm 120275 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue; pTerm 120276 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->eOperator!=(WO_EQUIV|WO_EQ) ) continue; pTerm 120277 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->leftCursor!=iCur ) continue; pTerm 120279 ext/sqlite3/libsqlite/sqlite3.c pE = pTerm->pExpr; pTerm 120281 ext/sqlite3/libsqlite/sqlite3.c assert( (pTerm->prereqRight & pLevel->notReady)!=0 ); pTerm 120282 ext/sqlite3/libsqlite/sqlite3.c pAlt = findTerm(pWC, iCur, pTerm->u.leftColumn, notReady, WO_EQ|WO_IN, 0); pTerm 120305 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a, j=0; j<pWC->nTerm; j++, pTerm++){ pTerm 120306 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->wtFlags & TERM_VIRTUAL ); pTerm 120307 ext/sqlite3/libsqlite/sqlite3.c testcase( pTerm->wtFlags & TERM_CODED ); pTerm 120308 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue; pTerm 120309 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->prereqAll & pLevel->notReady)!=0 ){ pTerm 120313 ext/sqlite3/libsqlite/sqlite3.c assert( pTerm->pExpr ); pTerm 120314 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfFalse(pParse, pTerm->pExpr, addrCont, SQLITE_JUMPIFNULL); pTerm 120315 ext/sqlite3/libsqlite/sqlite3.c pTerm->wtFlags |= TERM_CODED; pTerm 120326 ext/sqlite3/libsqlite/sqlite3.c static void whereTermPrint(WhereTerm *pTerm, int iTerm){ pTerm 120327 ext/sqlite3/libsqlite/sqlite3.c if( pTerm==0 ){ pTerm 120332 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->wtFlags & TERM_VIRTUAL ) zType[0] = 'V'; pTerm 120333 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->eOperator & WO_EQUIV ) zType[1] = 'E'; pTerm 120334 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pTerm->pExpr, EP_FromJoin) ) zType[2] = 'L'; pTerm 120336 ext/sqlite3/libsqlite/sqlite3.c iTerm, pTerm, zType, pTerm->leftCursor, pTerm->truthProb, pTerm 120337 ext/sqlite3/libsqlite/sqlite3.c pTerm->eOperator); pTerm 120338 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExpr(0, pTerm->pExpr, 0); pTerm 120802 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm, *pX; pTerm 120808 ext/sqlite3/libsqlite/sqlite3.c for(i=pWC->nTerm, pTerm=pWC->a; i>0; i--, pTerm++){ pTerm 120809 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->wtFlags & TERM_VIRTUAL)!=0 ) break; pTerm 120810 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->prereqAll & pLoop->maskSelf)==0 ) continue; pTerm 120811 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->prereqAll & notAllowed)!=0 ) continue; pTerm 120815 ext/sqlite3/libsqlite/sqlite3.c if( pX==pTerm ) break; pTerm 120816 ext/sqlite3/libsqlite/sqlite3.c if( pX->iParent>=0 && (&pWC->a[pX->iParent])==pTerm ) break; pTerm 120819 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->truthProb<=0 ){ pTerm 120822 ext/sqlite3/libsqlite/sqlite3.c pLoop->nOut += pTerm->truthProb; pTerm 120827 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->eOperator&WO_EQ ){ pTerm 120828 ext/sqlite3/libsqlite/sqlite3.c Expr *pRight = pTerm->pExpr->pRight; pTerm 120874 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; /* A WhereTerm under consideration */ pTerm 120906 ext/sqlite3/libsqlite/sqlite3.c pTerm = whereScanInit(&scan, pBuilder->pWC, pSrc->iCursor, iCol, pTerm 120917 ext/sqlite3/libsqlite/sqlite3.c for(; rc==SQLITE_OK && pTerm!=0; pTerm = whereScanNext(&scan)){ pTerm 120918 ext/sqlite3/libsqlite/sqlite3.c u16 eOp = pTerm->eOperator; /* Shorthand for pTerm->eOperator */ pTerm 120925 ext/sqlite3/libsqlite/sqlite3.c if( (eOp==WO_ISNULL || (pTerm->wtFlags&TERM_VNULL)!=0) pTerm 120930 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->prereqRight & pNew->maskSelf ) continue; pTerm 120934 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->wtFlags & TERM_LIKEOPT && pTerm->eOperator==WO_LT ) continue; pTerm 120940 ext/sqlite3/libsqlite/sqlite3.c pNew->aLTerm[pNew->nLTerm++] = pTerm; pTerm 120941 ext/sqlite3/libsqlite/sqlite3.c pNew->prereq = (saved_prereq | pTerm->prereqRight) & ~pNew->maskSelf; pTerm 120950 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pTerm->pExpr; pTerm 120977 ext/sqlite3/libsqlite/sqlite3.c pBtm = pTerm; pTerm 120979 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->wtFlags & TERM_LIKEOPT ){ pTerm 120982 ext/sqlite3/libsqlite/sqlite3.c pTop = &pTerm[1]; pTerm 120983 ext/sqlite3/libsqlite/sqlite3.c assert( (pTop-(pTerm->pWC->a))<pTerm->pWC->nTerm ); pTerm 120995 ext/sqlite3/libsqlite/sqlite3.c pTop = pTerm; pTerm 121015 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->truthProb<=0 && iCol>=0 ){ pTerm 121018 ext/sqlite3/libsqlite/sqlite3.c pNew->nOut += pTerm->truthProb; pTerm 121026 ext/sqlite3/libsqlite/sqlite3.c && ((eOp & WO_IN)==0 || !ExprHasProperty(pTerm->pExpr, EP_xIsSelect)) pTerm 121028 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pTerm->pExpr; pTerm 121189 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; pTerm 121190 ext/sqlite3/libsqlite/sqlite3.c for(i=0, pTerm=pWC->a; i<pWC->nTerm; i++, pTerm++){ pTerm 121191 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pTerm->pExpr; pTerm 121310 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; pTerm 121312 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a; rc==SQLITE_OK && pTerm<pWCEnd; pTerm++){ pTerm 121313 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->prereqRight & pNew->maskSelf ) continue; pTerm 121314 ext/sqlite3/libsqlite/sqlite3.c if( termCanDriveIndex(pTerm, pSrc, 0) ){ pTerm 121319 ext/sqlite3/libsqlite/sqlite3.c pNew->aLTerm[0] = pTerm; pTerm 121340 ext/sqlite3/libsqlite/sqlite3.c pNew->prereq = mExtra | pTerm->prereqRight; pTerm 121451 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; pTerm 121492 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[j]; pTerm 121496 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->eOperator & WO_IN)!=0 ){ pTerm 121499 ext/sqlite3/libsqlite/sqlite3.c if( pTerm->prereqRight!=0 ){ pTerm 121501 ext/sqlite3/libsqlite/sqlite3.c }else if( (pTerm->eOperator & WO_IN)==0 ){ pTerm 121507 ext/sqlite3/libsqlite/sqlite3.c pIdxCons->usable = (pTerm->prereqRight==0); pTerm 121511 ext/sqlite3/libsqlite/sqlite3.c pIdxCons->usable = (pTerm->eOperator & WO_IN)==0; pTerm 121550 ext/sqlite3/libsqlite/sqlite3.c pTerm = &pWC->a[j]; pTerm 121551 ext/sqlite3/libsqlite/sqlite3.c pNew->prereq |= pTerm->prereqRight; pTerm 121553 ext/sqlite3/libsqlite/sqlite3.c pNew->aLTerm[iTerm] = pTerm; pTerm 121558 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->eOperator & WO_IN)!=0 ){ pTerm 121610 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm, *pWCEnd; pTerm 121625 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=pWC->a; pTerm<pWCEnd && rc==SQLITE_OK; pTerm++){ pTerm 121626 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->eOperator & WO_OR)!=0 pTerm 121627 ext/sqlite3/libsqlite/sqlite3.c && (pTerm->u.pOrInfo->indexable & pNew->maskSelf)!=0 pTerm 121629 ext/sqlite3/libsqlite/sqlite3.c WhereClause * const pOrWC = &pTerm->u.pOrInfo->wc; pTerm 121639 ext/sqlite3/libsqlite/sqlite3.c WHERETRACE(0x200, ("Begin processing OR-clause %p\n", pTerm)); pTerm 121656 ext/sqlite3/libsqlite/sqlite3.c (int)(pOrTerm-pOrWC->a), pTerm, sSubBuild.pWC->nTerm)); pTerm 121695 ext/sqlite3/libsqlite/sqlite3.c pNew->aLTerm[0] = pTerm; pTerm 121718 ext/sqlite3/libsqlite/sqlite3.c WHERETRACE(0x200, ("End processing OR-clause %p\n", pTerm)); pTerm 121805 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; /* A single term of the WHERE clause */ pTerm 121866 ext/sqlite3/libsqlite/sqlite3.c pTerm = findTerm(&pWInfo->sWC, iCur, pOBExpr->iColumn, pTerm 121868 ext/sqlite3/libsqlite/sqlite3.c if( pTerm==0 ) continue; pTerm 121869 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->eOperator&WO_EQ)!=0 && pOBExpr->iColumn>=0 ){ pTerm 121874 ext/sqlite3/libsqlite/sqlite3.c pColl = sqlite3ExprCollSeq(pWInfo->pParse, pTerm->pExpr); pTerm 122462 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm; pTerm 122481 ext/sqlite3/libsqlite/sqlite3.c pTerm = findTerm(pWC, iCur, -1, 0, WO_EQ, 0); pTerm 122482 ext/sqlite3/libsqlite/sqlite3.c if( pTerm ){ pTerm 122484 ext/sqlite3/libsqlite/sqlite3.c pLoop->aLTerm[0] = pTerm; pTerm 122497 ext/sqlite3/libsqlite/sqlite3.c pTerm = findTerm(pWC, iCur, pIdx->aiColumn[j], 0, WO_EQ, pIdx); pTerm 122498 ext/sqlite3/libsqlite/sqlite3.c if( pTerm==0 ) break; pTerm 122499 ext/sqlite3/libsqlite/sqlite3.c pLoop->aLTerm[j] = pTerm; pTerm 122862 ext/sqlite3/libsqlite/sqlite3.c WhereTerm *pTerm, *pEnd; pTerm 122872 ext/sqlite3/libsqlite/sqlite3.c for(pTerm=sWLB.pWC->a; pTerm<pEnd; pTerm++){ pTerm 122873 ext/sqlite3/libsqlite/sqlite3.c if( (pTerm->prereqAll & pLoop->maskSelf)!=0 pTerm 122874 ext/sqlite3/libsqlite/sqlite3.c && !ExprHasProperty(pTerm->pExpr, EP_FromJoin) pTerm 122879 ext/sqlite3/libsqlite/sqlite3.c if( pTerm<pEnd ) break; pTerm 150108 ext/sqlite3/libsqlite/sqlite3.c TermOffset *pTerm = 0; /* TermOffset associated with next token */ pTerm 150114 ext/sqlite3/libsqlite/sqlite3.c pTerm = pT; pTerm 150118 ext/sqlite3/libsqlite/sqlite3.c if( !pTerm ){ pTerm 150123 ext/sqlite3/libsqlite/sqlite3.c if( 0==(0xFE&*pTerm->pList) ){ pTerm 150124 ext/sqlite3/libsqlite/sqlite3.c pTerm->pList = 0; pTerm 150126 ext/sqlite3/libsqlite/sqlite3.c fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos); pTerm 150134 ext/sqlite3/libsqlite/sqlite3.c "%d %d %d %d ", iCol, pTerm-sCtx.aTerm, iStart, iEnd-iStart