Lines Matching refs:pTerm
10544 struct WhereTerm *pTerm; /* WHERE clause term for OR-search */ member
76599 struct ExprList_item *pTerm = pGB->a;
76601 for(j=0; j<n; j++, pTerm++){
76602 Expr *pE = pTerm->pExpr;
94600 Expr *pTerm = pOrderBy->a[i].pExpr;
94601 if( pTerm->flags & EP_ExpCollate ){
94602 pColl = pTerm->pColl;
94605 pTerm->flags |= EP_ExpCollate;
94606 pTerm->pColl = pColl;
100681 WhereTerm *pTerm;
100701 pTerm = &pWC->a[idx = pWC->nTerm++];
100702 pTerm->pExpr = p;
100703 pTerm->wtFlags = wtFlags;
100704 pTerm->pWC = pWC;
100705 pTerm->iParent = -1;
100928 WhereTerm *pTerm;
100932 for(pTerm=pWC->a, k=pWC->nTerm; k; k--, pTerm++){
100933 if( pTerm->leftCursor==iCur
100934 && (pTerm->prereqRight & notReady)==0
100935 && pTerm->u.leftColumn==iColumn
100936 && (pTerm->eOperator & op)!=0
100938 if( pIdx && pTerm->eOperator!=WO_ISNULL ){
100939 Expr *pX = pTerm->pExpr;
100961 return pTerm;
101204 WhereTerm *pTerm = &pWC->a[idxTerm]; /* The term to be analyzed */
101205 Expr *pExpr = pTerm->pExpr; /* The expression of the term */
101219 assert( (pTerm->wtFlags & (TERM_DYNAMIC|TERM_ORINFO|TERM_ANDINFO))==0 );
101221 pTerm->u.pOrInfo = pOrInfo = sqlite3DbMallocZero(db, sizeof(*pOrInfo));
101223 pTerm->wtFlags |= TERM_ORINFO;
101290 pTerm->eOperator = indexable==0 ? 0 : WO_OR;
101418 pTerm = &pWC->a[idxTerm];
101420 pTerm->nChild = 1;
101424 pTerm->eOperator = WO_NOOP; /* case 1 trumps case 2 */
101454 WhereTerm *pTerm; /* The term to be analyzed */
101470 pTerm = &pWC->a[idxTerm];
101472 pExpr = pTerm->pExpr;
101478 pTerm->prereqRight = exprSelectTableUsage(pMaskSet, pExpr->x.pSelect);
101480 pTerm->prereqRight = exprListTableUsage(pMaskSet, pExpr->x.pList);
101483 pTerm->prereqRight = 0;
101485 pTerm->prereqRight = exprTableUsage(pMaskSet, pExpr->pRight);
101494 pTerm->prereqAll = prereqAll;
101495 pTerm->leftCursor = -1;
101496 pTerm->iParent = -1;
101497 pTerm->eOperator = 0;
101498 if( allowedOp(op) && (pTerm->prereqRight & prereqLeft)==0 ){
101502 pTerm->leftCursor = pLeft->iTable;
101503 pTerm->u.leftColumn = pLeft->iColumn;
101504 pTerm->eOperator = operatorMask(op);
101509 if( pTerm->leftCursor>=0 ){
101520 pTerm = &pWC->a[idxTerm];
101521 pTerm->nChild = 1;
101522 pTerm->wtFlags |= TERM_COPIED;
101525 pNew = pTerm;
101569 pTerm = &pWC->a[idxTerm];
101572 pTerm->nChild = 2;
101583 pTerm = &pWC->a[idxTerm];
101642 pTerm = &pWC->a[idxTerm];
101646 pTerm->nChild = 2;
101680 pTerm = &pWC->a[idxTerm];
101681 pTerm->nChild = 1;
101682 pTerm->wtFlags |= TERM_COPIED;
101683 pNewTerm->prereqAll = pTerm->prereqAll;
101721 pTerm = &pWC->a[idxTerm];
101722 pTerm->nChild = 1;
101723 pTerm->wtFlags |= TERM_COPIED;
101724 pNewTerm->prereqAll = pTerm->prereqAll;
101732 pTerm->prereqRight |= extraRight;
101825 WhereTerm *pTerm;
101828 pTerm = findTerm(pWC, p->iTable, p->iColumn, ~(Bitmask)0, WO_EQ, 0);
101829 if( pTerm ){
101830 Expr *pX = pTerm->pExpr;
101943 struct ExprList_item *pTerm; /* A term of the ORDER BY clause */
101966 for(i=j=0, pTerm=pOrderBy->a; j<nTerm && i<=pIdx->nColumn; i++){
101974 pExpr = pTerm->pExpr;
102014 assert( pTerm->sortOrder==0 || pTerm->sortOrder==1 );
102016 termSortOrder = iSortOrder ^ pTerm->sortOrder;
102027 pTerm++;
102147 WhereTerm *pTerm; /* A single term of the WHERE clause */
102156 for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){
102157 if( pTerm->eOperator==WO_OR
102158 && ((pTerm->prereqAll & ~maskSrc) & notReady)==0
102159 && (pTerm->u.pOrInfo->indexable & maskSrc)!=0
102161 WhereClause * const pOrWC = &pTerm->u.pOrInfo->wc;
102172 (pOrTerm - pOrWC->a), (pTerm - pWC->a)
102211 pCost->plan.u.pTerm = pTerm;
102225 WhereTerm *pTerm, /* WHERE clause term to check */
102230 if( pTerm->leftCursor!=pSrc->iCursor ) return 0;
102231 if( pTerm->eOperator!=WO_EQ ) return 0;
102232 if( (pTerm->prereqRight & notReady)!=0 ) return 0;
102233 aff = pSrc->pTab->aCol[pTerm->u.leftColumn].affinity;
102234 if( !sqlite3IndexAffinityOk(pTerm->pExpr, aff) ) return 0;
102258 WhereTerm *pTerm; /* A single term of the WHERE clause */
102296 for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){
102297 if( termCanDriveIndex(pTerm, pSrc, notReady) ){
102303 pCost->used = pTerm->prereqRight;
102327 WhereTerm *pTerm; /* A single term of the WHERE clause */
102358 for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){
102359 if( termCanDriveIndex(pTerm, pSrc, notReady) ){
102360 int iCol = pTerm->u.leftColumn;
102409 for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){
102410 if( termCanDriveIndex(pTerm, pSrc, notReady) ){
102411 int iCol = pTerm->u.leftColumn;
102414 Expr *pX = pTerm->pExpr;
102416 pIdx->aiColumn[n] = pTerm->u.leftColumn;
102483 WhereTerm *pTerm;
102491 for(i=nTerm=0, pTerm=pWC->a; i<pWC->nTerm; i++, pTerm++){
102492 if( pTerm->leftCursor != pSrc->iCursor ) continue;
102493 assert( (pTerm->eOperator&(pTerm->eOperator-1))==0 );
102494 testcase( pTerm->eOperator==WO_IN );
102495 testcase( pTerm->eOperator==WO_ISNULL );
102496 if( pTerm->eOperator & (WO_IN|WO_ISNULL) ) continue;
102497 if( pTerm->wtFlags & TERM_VNULL ) continue;
102542 for(i=j=0, pTerm=pWC->a; i<pWC->nTerm; i++, pTerm++){
102543 if( pTerm->leftCursor != pSrc->iCursor ) continue;
102544 assert( (pTerm->eOperator&(pTerm->eOperator-1))==0 );
102545 testcase( pTerm->eOperator==WO_IN );
102546 testcase( pTerm->eOperator==WO_ISNULL );
102547 if( pTerm->eOperator & (WO_IN|WO_ISNULL) ) continue;
102548 if( pTerm->wtFlags & TERM_VNULL ) continue;
102549 pIdxCons[j].iColumn = pTerm->u.leftColumn;
102551 pIdxCons[j].op = (u8)pTerm->eOperator;
102561 assert( pTerm->eOperator & (WO_EQ|WO_LT|WO_LE|WO_GT|WO_GE|WO_MATCH) );
102650 WhereTerm *pTerm;
102711 pTerm = &pWC->a[j];
102712 pIdxCons->usable = (pTerm->prereqRight¬Ready) ? 0 : 1;
103358 WhereTerm *pTerm; /* A single term of the WHERE clause */
103366 pTerm = findTerm(pWC, iCur, j, notReady, eqTermMask, pIdx);
103367 if( pTerm==0 ) break;
103369 if( pTerm->eOperator & WO_IN ){
103370 Expr *pExpr = pTerm->pExpr;
103380 }else if( pTerm->eOperator & WO_ISNULL ){
103384 if( nEq==0 && pProbe->aSample ) pFirstTerm = pTerm;
103386 used |= pTerm->prereqRight;
103580 for(pTerm=pWC->a, k=pWC->nTerm; nRow>2 && k; k--, pTerm++){
103581 if( pTerm->wtFlags & TERM_VIRTUAL ) continue;
103582 if( (pTerm->prereqAll & notValid)!=thisTab ) continue;
103583 if( pTerm->eOperator & (WO_EQ|WO_IN|WO_ISNULL) ){
103593 }else if( pTerm->eOperator & (WO_LT|WO_LE|WO_GT|WO_GE) ){
103607 }else if( pTerm->eOperator!=WO_NOOP ){
103729 static void disableTerm(WhereLevel *pLevel, WhereTerm *pTerm){
103730 if( pTerm
103731 && (pTerm->wtFlags & TERM_CODED)==0
103732 && (pLevel->iLeftJoin==0 || ExprHasProperty(pTerm->pExpr, EP_FromJoin))
103734 pTerm->wtFlags |= TERM_CODED;
103735 if( pTerm->iParent>=0 ){
103736 WhereTerm *pOther = &pTerm->pWC->a[pTerm->iParent];
103797 WhereTerm *pTerm, /* The term of the WHERE clause to be coded */
103801 Expr *pX = pTerm->pExpr;
103845 disableTerm(pLevel, pTerm);
103900 WhereTerm *pTerm; /* A single constraint term */
103927 pTerm = findTerm(pWC, iCur, k, notReady, pLevel->plan.wsFlags, pIdx);
103928 if( NEVER(pTerm==0) ) break;
103931 testcase( (pTerm->wtFlags & TERM_CODED)!=0 );
103932 testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* EV: R-30575-11662 */
103933 r1 = codeEqualityTerm(pParse, pTerm, pLevel, regBase+j);
103942 testcase( pTerm->eOperator & WO_ISNULL );
103943 testcase( pTerm->eOperator & WO_IN );
103944 if( (pTerm->eOperator & (WO_ISNULL|WO_IN))==0 ){
103945 Expr *pRight = pTerm->pExpr->pRight;
104133 WhereTerm *pTerm; /* A WHERE clause term */
104226 pTerm = findTerm(pWC, iCur, -1, notReady, WO_EQ|WO_IN, 0);
104227 assert( pTerm!=0 );
104228 assert( pTerm->pExpr!=0 );
104229 assert( pTerm->leftCursor==iCur );
104231 testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* EV: R-30575-11662 */
104232 iRowidReg = codeEqualityTerm(pParse, pTerm, pLevel, iReleaseReg);
104251 pTerm = pStart;
104253 pEnd = pTerm;
104608 pTerm = pLevel->plan.u.pTerm;
104609 assert( pTerm!=0 );
104610 assert( pTerm->eOperator==WO_OR );
104611 assert( (pTerm->wtFlags & TERM_ORINFO)!=0 );
104612 pOrWc = &pTerm->u.pOrInfo->wc;
104695 if( !untestedTerms ) disableTerm(pLevel, pTerm);
104721 for(pTerm=pWC->a, j=pWC->nTerm; j>0; j--, pTerm++){
104723 testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* IMP: R-30575-11662 */
104724 testcase( pTerm->wtFlags & TERM_CODED );
104725 if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue;
104726 if( (pTerm->prereqAll & notReady)!=0 ){
104732 pE = pTerm->pExpr;
104738 pTerm->wtFlags |= TERM_CODED;
104749 for(pTerm=pWC->a, j=0; j<pWC->nTerm; j++, pTerm++){
104750 testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* IMP: R-30575-11662 */
104751 testcase( pTerm->wtFlags & TERM_CODED );
104752 if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue;
104753 if( (pTerm->prereqAll & notReady)!=0 ){
104757 assert( pTerm->pExpr );
104758 sqlite3ExprIfFalse(pParse, pTerm->pExpr, addrCont, SQLITE_JUMPIFNULL);
104759 pTerm->wtFlags |= TERM_CODED;
126929 TermOffset *pTerm = 0; /* TermOffset associated with next token */
126935 pTerm = pT;
126939 if( !pTerm ){
126944 if( 0==(0xFE&*pTerm->pList) ){
126945 pTerm->pList = 0;
126947 fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos);
126955 "%d %d %d %d ", iCol, pTerm-sCtx.aTerm, iStart, iEnd-iStart