Home | History | Annotate | Download | only in orig

Lines Matching refs:pTerm

10788 ** pTerm is only used when wsFlags&WHERE_MULTI_OR is true.  And pVtabIdx
10798 struct WhereTerm *pTerm; /* WHERE clause term for OR-search */
78245 struct ExprList_item *pTerm = pGB->a;
78247 for(j=0; j<n; j++, pTerm++){
78248 Expr *pE = pTerm->pExpr;
96764 Expr *pTerm = pOrderBy->a[i].pExpr;
96765 if( pTerm->flags & EP_ExpCollate ){
96766 pColl = pTerm->pColl;
96769 pTerm->flags |= EP_ExpCollate;
96770 pTerm->pColl = pColl;
102881 WhereTerm *pTerm;
102901 pTerm = &pWC->a[idx = pWC->nTerm++];
102902 pTerm->pExpr = p;
102903 pTerm->wtFlags = wtFlags;
102904 pTerm->pWC = pWC;
102905 pTerm->iParent = -1;
103128 WhereTerm *pTerm;
103133 for(pTerm=pWC->a, k=pWC->nTerm; k; k--, pTerm++){
103134 if( pTerm->leftCursor==iCur
103135 && (pTerm->prereqRight & notReady)==0
103136 && pTerm->u.leftColumn==iColumn
103137 && (pTerm->eOperator & op)!=0
103139 if( iColumn>=0 && pIdx && pTerm->eOperator!=WO_ISNULL ){
103140 Expr *pX = pTerm->pExpr;
103162 return pTerm;
103406 WhereTerm *pTerm = &pWC->a[idxTerm]; /* The term to be analyzed */
103407 Expr *pExpr = pTerm->pExpr; /* The expression of the term */
103410 WhereClause *pOrWc; /* Breakup of pTerm into subterms */
103412 WhereOrInfo *pOrInfo; /* Additional information associated with pTerm */
103421 assert( (pTerm->wtFlags & (TERM_DYNAMIC|TERM_ORINFO|TERM_ANDINFO))==0 );
103423 pTerm->u.pOrInfo = pOrInfo = sqlite3DbMallocZero(db, sizeof(*pOrInfo));
103425 pTerm->wtFlags |= TERM_ORINFO;
103493 pTerm->eOperator = indexable==0 ? 0 : WO_OR;
103589 /* At this point, okToChngToIN is true if original pTerm satisfies
103591 ** pTerm converted into an IN operator.
103621 pTerm = &pWC->a[idxTerm];
103623 pTerm->nChild = 1;
103627 pTerm->eOperator = WO_NOOP; /* case 1 trumps case 2 */
103657 WhereTerm *pTerm; /* The term to be analyzed */
103673 pTerm = &pWC->a[idxTerm];
103675 pExpr = pTerm->pExpr;
103681 pTerm->prereqRight = exprSelectTableUsage(pMaskSet, pExpr->x.pSelect);
103683 pTerm->prereqRight = exprListTableUsage(pMaskSet, pExpr->x.pList);
103686 pTerm->prereqRight = 0;
103688 pTerm->prereqRight = exprTableUsage(pMaskSet, pExpr->pRight);
103697 pTerm->prereqAll = prereqAll;
103698 pTerm->leftCursor = -1;
103699 pTerm->iParent = -1;
103700 pTerm->eOperator = 0;
103701 if( allowedOp(op) && (pTerm->prereqRight & prereqLeft)==0 ){
103705 pTerm->leftCursor = pLeft->iTable;
103706 pTerm->u.leftColumn = pLeft->iColumn;
103707 pTerm->eOperator = operatorMask(op);
103712 if( pTerm->leftCursor>=0 ){
103723 pTerm = &pWC->a[idxTerm];
103724 pTerm->nChild = 1;
103725 pTerm->wtFlags |= TERM_COPIED;
103728 pNew = pTerm;
103772 pTerm = &pWC->a[idxTerm];
103775 pTerm->nChild = 2;
103786 pTerm = &pWC->a[idxTerm];
103845 pTerm = &pWC->a[idxTerm];
103849 pTerm->nChild = 2;
103883 pTerm = &pWC->a[idxTerm];
103884 pTerm->nChild = 1;
103885 pTerm->wtFlags |= TERM_COPIED;
103886 pNewTerm->prereqAll = pTerm->prereqAll;
103924 pTerm = &pWC->a[idxTerm];
103925 pTerm->nChild = 1;
103926 pTerm->wtFlags |= TERM_COPIED;
103927 pNewTerm->prereqAll = pTerm->prereqAll;
103935 pTerm->prereqRight |= extraRight;
104028 WhereTerm *pTerm;
104031 pTerm = findTerm(pWC, p->iTable, p->iColumn, ~(Bitmask)0, WO_EQ, 0);
104032 if( pTerm ){
104033 Expr *pX = pTerm->pExpr;
104146 struct ExprList_item *pTerm; /* A term of the ORDER BY clause */
104169 for(i=j=0, pTerm=pOrderBy->a; j<nTerm && i<=pIdx->nColumn; i++){
104170 Expr *pExpr; /* The expression of the ORDER BY pTerm */
104177 pExpr = pTerm->pExpr;
104217 assert( pTerm->sortOrder==0 || pTerm->sortOrder==1 );
104219 termSortOrder = iSortOrder ^ pTerm->sortOrder;
104230 pTerm++;
104350 WhereTerm *pTerm; /* A single term of the WHERE clause */
104362 for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){
104363 if( pTerm->eOperator==WO_OR
104364 && ((pTerm->prereqAll & ~maskSrc) & notReady)==0
104365 && (pTerm->u.pOrInfo->indexable & maskSrc)!=0
104367 WhereClause * const pOrWC = &pTerm->u.pOrInfo->wc;
104378 (pOrTerm - pOrWC->a), (pTerm - pWC->a)
104419 pCost->plan.u.pTerm = pTerm;
104428 ** Return TRUE if the WHERE clause term pTerm is of a form where it
104433 WhereTerm *pTerm, /* WHERE clause term to check */
104438 if( pTerm->leftCursor!=pSrc->iCursor ) return 0;
104439 if( pTerm->eOperator!=WO_EQ ) return 0;
104440 if( (pTerm->prereqRight & notReady)!=0 ) return 0;
104441 aff = pSrc->pTab->aCol[pTerm->u.leftColumn].affinity;
104442 if( !sqlite3IndexAffinityOk(pTerm->pExpr, aff) ) return 0;
104466 WhereTerm *pTerm; /* A single term of the WHERE clause */
104504 for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){
104505 if( termCanDriveIndex(pTerm, pSrc, notReady) ){
104511 pCost->used = pTerm->prereqRight;
104535 WhereTerm *pTerm; /* A single term of the WHERE clause */
104564 for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){
104565 if( termCanDriveIndex(pTerm, pSrc, notReady) ){
104566 int iCol = pTerm->u.leftColumn;
104615 for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){
104616 if( termCanDriveIndex(pTerm, pSrc, notReady) ){
104617 int iCol = pTerm->u.leftColumn;
104620 Expr *pX = pTerm->pExpr;
104622 pIdx->aiColumn[n] = pTerm->u.leftColumn;
104689 WhereTerm *pTerm;
104697 for(i=nTerm=0, pTerm=pWC->a; i<pWC->nTerm; i++, pTerm++){
104698 if( pTerm->leftCursor != pSrc->iCursor ) continue;
104699 assert( (pTerm->eOperator&(pTerm->eOperator-1))==0 );
104700 testcase( pTerm->eOperator==WO_IN );
104701 testcase( pTerm->eOperator==WO_ISNULL );
104702 if( pTerm->eOperator & (WO_IN|WO_ISNULL) ) continue;
104703 if( pTerm->wtFlags & TERM_VNULL ) continue;
104748 for(i=j=0, pTerm=pWC->a; i<pWC->nTerm; i++, pTerm++){
104749 if( pTerm->leftCursor != pSrc->iCursor ) continue;
104750 assert( (pTerm->eOperator&(pTerm->eOperator-1))==0 );
104751 testcase( pTerm->eOperator==WO_IN );
104752 testcase( pTerm->eOperator==WO_ISNULL );
104753 if( pTerm->eOperator & (WO_IN|WO_ISNULL) ) continue;
104754 if( pTerm->wtFlags & TERM_VNULL ) continue;
104755 pIdxCons[j].iColumn = pTerm->u.leftColumn;
104757 pIdxCons[j].op = (u8)pTerm->eOperator;
104767 assert( pTerm->eOperator & (WO_EQ|WO_LT|WO_LE|WO_GT|WO_GE|WO_MATCH) );
104856 WhereTerm *pTerm;
104917 pTerm = &pWC->a[j];
104918 pIdxCons->usable = (pTerm->prereqRight&notReady) ? 0 : 1;
105303 Index *p, /* The index whose left-most column is pTerm */
105307 sqlite3_value *pRhs = 0; /* VALUE on right-hand side of pTerm */
105352 Index *p, /* The index whose left-most column is pTerm */
105554 WhereTerm *pTerm; /* A single term of the WHERE clause */
105562 pTerm = findTerm(pWC, iCur, j, notReady, eqTermMask, pIdx);
105563 if( pTerm==0 ) break;
105565 testcase( pTerm->pWC!=pWC );
105566 if( pTerm->eOperator & WO_IN ){
105567 Expr *pExpr = pTerm->pExpr;
105577 }else if( pTerm->eOperator & WO_ISNULL ){
105581 if( nEq==0 && pProbe->aSample ) pFirstTerm = pTerm;
105583 used |= pTerm->prereqRight;
105791 for(pTerm=pWC->a, k=pWC->nTerm; nRow>2 && k; k--, pTerm++){
105792 if( pTerm->wtFlags & TERM_VIRTUAL ) continue;
105793 if( (pTerm->prereqAll & notValid)!=thisTab ) continue;
105794 if( pTerm->eOperator & (WO_EQ|WO_IN|WO_ISNULL) ){
105804 }else if( pTerm->eOperator & (WO_LT|WO_LE|WO_GT|WO_GE) ){
105818 }else if( pTerm->eOperator!=WO_NOOP ){
105940 static void disableTerm(WhereLevel *pLevel, WhereTerm *pTerm){
105941 if( pTerm
105942 && (pTerm->wtFlags & TERM_CODED)==0
105943 && (pLevel->iLeftJoin==0 || ExprHasProperty(pTerm->pExpr, EP_FromJoin))
105945 pTerm->wtFlags |= TERM_CODED;
105946 if( pTerm->iParent>=0 ){
105947 WhereTerm *pOther = &pTerm->pWC->a[pTerm->iParent];
105997 ** term can be either X=expr or X IN (...). pTerm is the term to be
106008 WhereTerm *pTerm, /* The term of the WHERE clause to be coded */
106012 Expr *pX = pTerm->pExpr;
106056 disableTerm(pLevel, pTerm);
106111 WhereTerm *pTerm; /* A single constraint term */
106138 pTerm = findTerm(pWC, iCur, k, notReady, pLevel->plan.wsFlags, pIdx);
106139 if( NEVER(pTerm==0) ) break;
106142 testcase( (pTerm->wtFlags & TERM_CODED)!=0 );
106143 testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* EV: R-30575-11662 */
106144 r1 = codeEqualityTerm(pParse, pTerm, pLevel, regBase+j);
106153 testcase( pTerm->eOperator & WO_ISNULL );
106154 testcase( pTerm->eOperator & WO_IN );
106155 if( (pTerm->eOperator & (WO_ISNULL|WO_IN))==0 ){
106156 Expr *pRight = pTerm->pExpr->pRight;
106346 WhereTerm *pTerm; /* A WHERE clause term */
106439 pTerm = findTerm(pWC, iCur, -1, notReady, WO_EQ|WO_IN, 0);
106440 assert( pTerm!=0 );
106441 assert( pTerm->pExpr!=0 );
106442 assert( pTerm->leftCursor==iCur );
106444 testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* EV: R-30575-11662 */
106445 iRowidReg = codeEqualityTerm(pParse, pTerm, pLevel, iReleaseReg);
106464 pTerm = pStart;
106466 pEnd = pTerm;
106824 pTerm = pLevel->plan.u.pTerm;
106825 assert( pTerm!=0 );
106826 assert( pTerm->eOperator==WO_OR );
106827 assert( (pTerm->wtFlags & TERM_ORINFO)!=0 );
106828 pOrWc = &pTerm->u.pOrInfo->wc;
106945 if( !untestedTerms ) disableTerm(pLevel, pTerm);
106971 for(pTerm=pWC->a, j=pWC->nTerm; j>0; j--, pTerm++){
106973 testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* IMP: R-30575-11662 */
106974 testcase( pTerm->wtFlags & TERM_CODED );
106975 if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue;
106976 if( (pTerm->prereqAll & notReady)!=0 ){
106982 pE = pTerm->pExpr;
106988 pTerm->wtFlags |= TERM_CODED;
106999 for(pTerm=pWC->a, j=0; j<pWC->nTerm; j++, pTerm++){
107000 testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* IMP: R-30575-11662 */
107001 testcase( pTerm->wtFlags & TERM_CODED );
107002 if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue;
107003 if( (pTerm->prereqAll & notReady)!=0 ){
107007 assert( pTerm->pExpr );
107008 sqlite3ExprIfFalse(pParse, pTerm->pExpr, addrCont, SQLITE_JUMPIFNULL);
107009 pTerm->wtFlags |= TERM_CODED;
107303 ** pWInfo->a[].pTerm When wsFlags==WO_OR, the OR-clause term
115950 ** char pTerm[nTerm]; (content of first term)
115998 ** char pTerm[nTerm]; (content of first term)
116014 ** Otherwise, for terms greater than or equal to pTerm[i] but less
116015 ** than pTerm[i+1], the subtree for that term will be rooted at
130013 TermOffset *pTerm = 0; /* TermOffset associated with next token */
130019 pTerm = pT;
130023 if( !pTerm ){
130028 if( 0==(0xFE&*pTerm->pList) ){
130029 pTerm->pList = 0;
130031 fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos);
130039 "%d %d %d %d ", iCol, pTerm-sCtx.aTerm, iStart, iEnd-iStart