Home | History | Annotate | Download | only in dist

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 */
78281 struct ExprList_item *pTerm = pGB->a;
78283 for(j=0; j<n; j++, pTerm++){
78284 Expr *pE = pTerm->pExpr;
96800 Expr *pTerm = pOrderBy->a[i].pExpr;
96801 if( pTerm->flags & EP_ExpCollate ){
96802 pColl = pTerm->pColl;
96805 pTerm->flags |= EP_ExpCollate;
96806 pTerm->pColl = pColl;
102917 WhereTerm *pTerm;
102937 pTerm = &pWC->a[idx = pWC->nTerm++];
102938 pTerm->pExpr = p;
102939 pTerm->wtFlags = wtFlags;
102940 pTerm->pWC = pWC;
102941 pTerm->iParent = -1;
103164 WhereTerm *pTerm;
103169 for(pTerm=pWC->a, k=pWC->nTerm; k; k--, pTerm++){
103170 if( pTerm->leftCursor==iCur
103171 && (pTerm->prereqRight & notReady)==0
103172 && pTerm->u.leftColumn==iColumn
103173 && (pTerm->eOperator & op)!=0
103175 if( iColumn>=0 && pIdx && pTerm->eOperator!=WO_ISNULL ){
103176 Expr *pX = pTerm->pExpr;
103198 return pTerm;
103442 WhereTerm *pTerm = &pWC->a[idxTerm]; /* The term to be analyzed */
103443 Expr *pExpr = pTerm->pExpr; /* The expression of the term */
103446 WhereClause *pOrWc; /* Breakup of pTerm into subterms */
103448 WhereOrInfo *pOrInfo; /* Additional information associated with pTerm */
103457 assert( (pTerm->wtFlags & (TERM_DYNAMIC|TERM_ORINFO|TERM_ANDINFO))==0 );
103459 pTerm->u.pOrInfo = pOrInfo = sqlite3DbMallocZero(db, sizeof(*pOrInfo));
103461 pTerm->wtFlags |= TERM_ORINFO;
103529 pTerm->eOperator = indexable==0 ? 0 : WO_OR;
103625 /* At this point, okToChngToIN is true if original pTerm satisfies
103627 ** pTerm converted into an IN operator.
103657 pTerm = &pWC->a[idxTerm];
103659 pTerm->nChild = 1;
103663 pTerm->eOperator = WO_NOOP; /* case 1 trumps case 2 */
103693 WhereTerm *pTerm; /* The term to be analyzed */
103709 pTerm = &pWC->a[idxTerm];
103711 pExpr = pTerm->pExpr;
103717 pTerm->prereqRight = exprSelectTableUsage(pMaskSet, pExpr->x.pSelect);
103719 pTerm->prereqRight = exprListTableUsage(pMaskSet, pExpr->x.pList);
103722 pTerm->prereqRight = 0;
103724 pTerm->prereqRight = exprTableUsage(pMaskSet, pExpr->pRight);
103733 pTerm->prereqAll = prereqAll;
103734 pTerm->leftCursor = -1;
103735 pTerm->iParent = -1;
103736 pTerm->eOperator = 0;
103737 if( allowedOp(op) && (pTerm->prereqRight & prereqLeft)==0 ){
103741 pTerm->leftCursor = pLeft->iTable;
103742 pTerm->u.leftColumn = pLeft->iColumn;
103743 pTerm->eOperator = operatorMask(op);
103748 if( pTerm->leftCursor>=0 ){
103759 pTerm = &pWC->a[idxTerm];
103760 pTerm->nChild = 1;
103761 pTerm->wtFlags |= TERM_COPIED;
103764 pNew = pTerm;
103808 pTerm = &pWC->a[idxTerm];
103811 pTerm->nChild = 2;
103822 pTerm = &pWC->a[idxTerm];
103881 pTerm = &pWC->a[idxTerm];
103885 pTerm->nChild = 2;
103919 pTerm = &pWC->a[idxTerm];
103920 pTerm->nChild = 1;
103921 pTerm->wtFlags |= TERM_COPIED;
103922 pNewTerm->prereqAll = pTerm->prereqAll;
103960 pTerm = &pWC->a[idxTerm];
103961 pTerm->nChild = 1;
103962 pTerm->wtFlags |= TERM_COPIED;
103963 pNewTerm->prereqAll = pTerm->prereqAll;
103971 pTerm->prereqRight |= extraRight;
104064 WhereTerm *pTerm;
104067 pTerm = findTerm(pWC, p->iTable, p->iColumn, ~(Bitmask)0, WO_EQ, 0);
104068 if( pTerm ){
104069 Expr *pX = pTerm->pExpr;
104182 struct ExprList_item *pTerm; /* A term of the ORDER BY clause */
104205 for(i=j=0, pTerm=pOrderBy->a; j<nTerm && i<=pIdx->nColumn; i++){
104206 Expr *pExpr; /* The expression of the ORDER BY pTerm */
104213 pExpr = pTerm->pExpr;
104253 assert( pTerm->sortOrder==0 || pTerm->sortOrder==1 );
104255 termSortOrder = iSortOrder ^ pTerm->sortOrder;
104266 pTerm++;
104386 WhereTerm *pTerm; /* A single term of the WHERE clause */
104398 for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){
104399 if( pTerm->eOperator==WO_OR
104400 && ((pTerm->prereqAll & ~maskSrc) & notReady)==0
104401 && (pTerm->u.pOrInfo->indexable & maskSrc)!=0
104403 WhereClause * const pOrWC = &pTerm->u.pOrInfo->wc;
104414 (pOrTerm - pOrWC->a), (pTerm - pWC->a)
104455 pCost->plan.u.pTerm = pTerm;
104464 ** Return TRUE if the WHERE clause term pTerm is of a form where it
104469 WhereTerm *pTerm, /* WHERE clause term to check */
104474 if( pTerm->leftCursor!=pSrc->iCursor ) return 0;
104475 if( pTerm->eOperator!=WO_EQ ) return 0;
104476 if( (pTerm->prereqRight & notReady)!=0 ) return 0;
104477 aff = pSrc->pTab->aCol[pTerm->u.leftColumn].affinity;
104478 if( !sqlite3IndexAffinityOk(pTerm->pExpr, aff) ) return 0;
104502 WhereTerm *pTerm; /* A single term of the WHERE clause */
104540 for(pTermpTerm<pWCEnd; pTerm++){
104541 if( termCanDriveIndex(pTerm, pSrc, notReady) ){
104547 pCost->used = pTerm->prereqRight;
104571 WhereTerm *pTerm; /* A single term of the WHERE clause */
104600 for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){
104601 if( termCanDriveIndex(pTerm, pSrc, notReady) ){
104602 int iCol = pTerm->u.leftColumn;
104651 for(pTerm=pWC->a; pTerm<pWCEnd; pTerm++){
104652 if( termCanDriveIndex(pTerm, pSrc, notReady) ){
104653 int iCol = pTerm->u.leftColumn;
104656 Expr *pX = pTerm->pExpr;
104658 pIdx->aiColumn[n] = pTerm->u.leftColumn;
104725 WhereTerm *pTerm;
104733 for(i=nTerm=0, pTerm=pWC->a; i<pWC->nTerm; i++, pTerm++){
104734 if( pTerm->leftCursor != pSrc->iCursor ) continue;
104735 assert( (pTerm->eOperator&(pTerm->eOperator-1))==0 );
104736 testcase( pTerm->eOperator==WO_IN );
104737 testcase( pTerm->eOperator==WO_ISNULL );
104738 if( pTerm->eOperator & (WO_IN|WO_ISNULL) ) continue;
104739 if( pTerm->wtFlags & TERM_VNULL ) continue;
104784 for(i=j=0, pTerm=pWC->a; i<pWC->nTerm; i++, pTerm++){
104785 if( pTerm->leftCursor != pSrc->iCursor ) continue;
104786 assert( (pTerm->eOperator&(pTerm->eOperator-1))==0 );
104787 testcase( pTerm->eOperator==WO_IN );
104788 testcase( pTerm->eOperator==WO_ISNULL );
104789 if( pTerm->eOperator & (WO_IN|WO_ISNULL) ) continue;
104790 if( pTerm->wtFlags & TERM_VNULL ) continue;
104791 pIdxCons[j].iColumn = pTerm->u.leftColumn;
104793 pIdxCons[j].op = (u8)pTerm->eOperator;
104803 assert( pTerm->eOperator & (WO_EQ|WO_LT|WO_LE|WO_GT|WO_GE|WO_MATCH) );
104892 WhereTerm *pTerm;
104953 pTerm = &pWC->a[j];
104954 pIdxCons->usable = (pTerm->prereqRight&notReady) ? 0 : 1;
105339 Index *p, /* The index whose left-most column is pTerm */
105343 sqlite3_value *pRhs = 0; /* VALUE on right-hand side of pTerm */
105388 Index *p, /* The index whose left-most column is pTerm */
105590 WhereTerm *pTerm; /* A single term of the WHERE clause */
105598 pTerm = findTerm(pWC, iCur, j, notReady, eqTermMask, pIdx);
105599 if( pTerm==0 ) break;
105601 testcase( pTerm->pWC!=pWC );
105602 if( pTerm->eOperator & WO_IN ){
105603 Expr *pExpr = pTerm->pExpr;
105613 }else if( pTerm->eOperator & WO_ISNULL ){
105617 if( nEq==0 && pProbe->aSample ) pFirstTerm = pTerm;
105619 used |= pTerm->prereqRight;
105827 for(pTerm=pWC->a, k=pWC->nTerm; nRow>2 && k; k--, pTerm++){
105828 if( pTerm->wtFlags & TERM_VIRTUAL ) continue;
105829 if( (pTerm->prereqAll & notValid)!=thisTab ) continue;
105830 if( pTerm
105840 }else if( pTerm->eOperator & (WO_LT|WO_LE|WO_GT|WO_GE) ){
105854 }else if( pTerm->eOperator!=WO_NOOP ){
105976 static void disableTerm(WhereLevel *pLevel, WhereTerm *pTerm){
105977 if( pTerm
105978 && (pTerm->wtFlags & TERM_CODED)==0
105979 && (pLevel->iLeftJoin==0 || ExprHasProperty(pTerm->pExpr, EP_FromJoin))
105981 pTerm->wtFlags |= TERM_CODED;
105982 if( pTerm->iParent>=0 ){
105983 WhereTerm *pOther = &pTerm->pWC->a[pTerm->iParent];
106033 ** term can be either X=expr or X IN (...). pTerm is the term to be
106044 WhereTerm *pTerm, /* The term of the WHERE clause to be coded */
106048 Expr *pX = pTerm->pExpr;
106092 disableTerm(pLevel, pTerm);
106147 WhereTerm *pTerm; /* A single constraint term */
106174 pTerm = findTerm(pWC, iCur, k, notReady, pLevel->plan.wsFlags, pIdx);
106175 if( NEVER(pTerm==0) ) break;
106178 testcase( (pTerm->wtFlags & TERM_CODED)!=0 );
106179 testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* EV: R-30575-11662 */
106180 r1 = codeEqualityTerm(pParse, pTerm, pLevel, regBase+j);
106189 testcase( pTerm->eOperator & WO_ISNULL );
106190 testcase( pTerm->eOperator & WO_IN );
106191 if( (pTerm->eOperator & (WO_ISNULL|WO_IN))==0 ){
106192 Expr *pRight = pTerm->pExpr->pRight;
106382 WhereTerm *pTerm; /* A WHERE clause term */
106475 pTerm = findTerm(pWC, iCur, -1, notReady, WO_EQ|WO_IN, 0);
106476 assert( pTerm!=0 );
106477 assert( pTerm->pExpr!=0 );
106478 assert( pTerm->leftCursor==iCur );
106480 testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* EV: R-30575-11662 */
106481 iRowidReg = codeEqualityTerm(pParse, pTerm, pLevel, iReleaseReg);
106500 pTerm = pStart;
106502 pEnd = pTerm;
106860 pTerm = pLevel->plan.u.pTerm;
106861 assert( pTerm!=0 );
106862 assert( pTerm->eOperator==WO_OR );
106863 assert( (pTerm->wtFlags & TERM_ORINFO)!=0 );
106864 pOrWc = &pTerm->u.pOrInfo->wc;
106981 if( !untestedTerms ) disableTerm(pLevel, pTerm);
107007 for(pTerm=pWC->a, j=pWC->nTerm; j>0; j--, pTerm++){
107009 testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* IMP: R-30575-11662 */
107010 testcase( pTerm->wtFlags & TERM_CODED );
107011 if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue;
107012 if( (pTerm->prereqAll & notReady)!=0 ){
107018 pE = pTerm->pExpr;
107024 pTerm->wtFlags |= TERM_CODED;
107035 for(pTerm=pWC->a, j=0; j<pWC->nTerm; j++, pTerm++){
107036 testcase( pTerm->wtFlags & TERM_VIRTUAL ); /* IMP: R-30575-11662 */
107037 testcase( pTerm->wtFlags & TERM_CODED );
107038 if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue;
107039 if( (pTerm->prereqAll & notReady)!=0 ){
107043 assert( pTerm->pExpr );
107044 sqlite3ExprIfFalse(pParse, pTerm->pExpr, addrCont, SQLITE_JUMPIFNULL);
107045 pTerm->wtFlags |= TERM_CODED;
107339 ** pWInfo->a[].pTerm When wsFlags==WO_OR, the OR-clause term
115986 ** char pTerm[nTerm]; (content of first term)
116034 ** char pTerm[nTerm]; (content of first term)
116050 ** Otherwise, for terms greater than or equal to pTerm[i] but less
116051 ** than pTerm[i+1], the subtree for that term will be rooted at
130061 TermOffset *pTerm = 0; /* TermOffset associated with next token */
130067 pTerm = pT;
130071 if( !pTerm ){
130076 if( 0==(0xFE&*pTerm->pList) ){
130077 pTerm->pList = 0;
130079 fts3GetDeltaPosition(&pTerm->pList, &pTerm->iPos);
130087 "%d %d %d %d ", iCol, pTerm-sCtx.aTerm, iStart, iEnd-iStart