Lines Matching refs:eOperator

59 ** cursor number and column number for X.  WhereTerm.eOperator records
68 ** In this second case, wtFlag as the TERM_ORINFO set and eOperator==WO_OR
73 ** categories, then eOperator==0. The WhereTerm.pExpr field is still set
77 ** When eOperator!=0, prereqRight and prereqAll record sets of cursor numbers,
100 WhereOrInfo *pOrInfo; /* Extra information if eOperator==WO_OR */
101 WhereAndInfo *pAndInfo; /* Extra information if eOperator==WO_AND */
103 u16 eOperator; /* A WO_xx value describing <op> */
147 ** A WhereTerm with eOperator==WO_OR has its u.pOrInfo pointer set to
156 ** A WhereTerm with eOperator==WO_AND has its u.pAndInfo pointer set to
582 && (pTerm->eOperator & op)!=0
584 if( pIdx && pTerm->eOperator!=WO_ISNULL ){
808 ** WhereTerm.eOperator = WO_OR
816 ** subterms have their eOperator set to WO_AND and they have
840 ** If neither case 1 nor case 2 apply, then leave the eOperator set to
883 if( (pOrTerm->eOperator & WO_SINGLE)==0 ){
885 assert( pOrTerm->eOperator==0 );
896 pOrTerm->eOperator = WO_AND;
923 if( pOrTerm->eOperator!=WO_EQ ){
936 pTerm->eOperator = indexable==0 ? 0 : WO_OR;
974 assert( pOrTerm->eOperator==WO_EQ );
1010 assert( pOrTerm->eOperator==WO_EQ );
1046 assert( pOrTerm->eOperator==WO_EQ );
1070 pTerm->eOperator = WO_NOOP; /* case 1 trumps case 2 */
1143 pTerm->eOperator = 0;
1150 pTerm->eOperator = operatorMask(op);
1180 pNew->eOperator = operatorMask(pDup->op);
1324 pNewTerm->eOperator = WO_MATCH;
1365 pNewTerm->eOperator = WO_GT;
1644 if( pTerm->eOperator==WO_OR
1661 if( pOrTerm->eOperator==WO_AND ){
1718 if( pTerm->eOperator!=WO_EQ ) return 0;
1973 assert( (pTerm->eOperator&(pTerm->eOperator-1))==0 );
1974 testcase( pTerm->eOperator==WO_IN );
1975 testcase( pTerm->eOperator==WO_ISNULL );
1976 if( pTerm->eOperator & (WO_IN|WO_ISNULL) ) continue;
2023 assert( (pTerm->eOperator&(pTerm->eOperator-1))==0 );
2024 testcase( pTerm->eOperator==WO_IN );
2025 testcase( pTerm->eOperator==WO_ISNULL );
2026 if( pTerm->eOperator & (WO_IN|WO_ISNULL) ) continue;
2029 pIdxCons[j].op = (u8)pTerm->eOperator;
2039 assert( pTerm->eOperator & (WO_EQ|WO_LT|WO_LE|WO_GT|WO_GE|WO_MATCH) );
2467 assert( pLower->eOperator==WO_GT || pLower->eOperator==WO_GE );
2468 roundUpLower = (pLower->eOperator==WO_GT) ?1:0;
2473 assert( pUpper->eOperator==WO_LT || pUpper->eOperator==WO_LE );
2474 roundUpUpper = (pUpper->eOperator==WO_LE) ?1:0;
2845 if( pTerm->eOperator & WO_IN ){
2856 }else if( pTerm->eOperator & WO_ISNULL ){
2947 if( pFirstTerm->eOperator & (WO_EQ|WO_ISNULL) ){
2948 testcase( pFirstTerm->eOperator==WO_EQ );
2949 testcase( pFirstTerm->eOperator==WO_ISNULL );
2951 }else if( pFirstTerm->eOperator==WO_IN && bInEst==0 ){
3052 if( pTerm->eOperator & (WO_EQ|WO_IN|WO_ISNULL) ){
3062 }else if( pTerm->eOperator & (WO_LT|WO_LE|WO_GT|WO_GE) ){
3076 }else if( pTerm->eOperator!=WO_NOOP ){
3411 testcase( pTerm->eOperator & WO_ISNULL );
3412 testcase( pTerm->eOperator & WO_IN );
3413 if( (pTerm->eOperator & (WO_ISNULL|WO_IN))==0 ){
3901 testcase( pRangeStart && pRangeStart->eOperator & WO_LE );
3902 testcase( pRangeStart && pRangeStart->eOperator & WO_GE );
3903 testcase( pRangeEnd && pRangeEnd->eOperator & WO_LE );
3904 testcase( pRangeEnd && pRangeEnd->eOperator & WO_GE );
3905 startEq = !pRangeStart || pRangeStart->eOperator & (WO_LE|WO_GE);
3906 endEq = !pRangeEnd || pRangeEnd->eOperator & (WO_LE|WO_GE);
4079 assert( pTerm->eOperator==WO_OR );
4127 if( pOrTerm->leftCursor==iCur || pOrTerm->eOperator==WO_AND ){