pExpr 11831 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr; /* The original expression */ pExpr 11838 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr; /* Expression encoding the function */ pExpr 12053 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr; /* The list of expressions */ pExpr 12076 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr; /* The expression parse tree */ pExpr 13407 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE char sqlite3CompareAffinity(Expr *pExpr, char aff2); pExpr 13408 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity); pExpr 13409 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr); pExpr 13426 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr); pExpr 64283 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3ValueFromExpr(db, pList->a[i].pExpr, enc, aff, &apVal[i]); pExpr 64343 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* The expression to evaluate */ pExpr 64356 ext/sqlite3/libsqlite/sqlite3.c if( !pExpr ){ pExpr 64360 ext/sqlite3/libsqlite/sqlite3.c while( (op = pExpr->op)==TK_UPLUS ) pExpr = pExpr->pLeft; pExpr 64361 ext/sqlite3/libsqlite/sqlite3.c if( NEVER(op==TK_REGISTER) ) op = pExpr->op2; pExpr 64367 ext/sqlite3/libsqlite/sqlite3.c assert( (pExpr->flags & EP_TokenOnly)==0 || pCtx==0 ); pExpr 64370 ext/sqlite3/libsqlite/sqlite3.c u8 aff = sqlite3AffinityType(pExpr->u.zToken,0); pExpr 64371 ext/sqlite3/libsqlite/sqlite3.c rc = valueFromExpr(db, pExpr->pLeft, enc, aff, ppVal, pCtx); pExpr 64384 ext/sqlite3/libsqlite/sqlite3.c && (pExpr->pLeft->op==TK_INTEGER || pExpr->pLeft->op==TK_FLOAT) ){ pExpr 64385 ext/sqlite3/libsqlite/sqlite3.c pExpr = pExpr->pLeft; pExpr 64386 ext/sqlite3/libsqlite/sqlite3.c op = pExpr->op; pExpr 64394 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_IntValue) ){ pExpr 64395 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemSetInt64(pVal, (i64)pExpr->u.iValue*negInt); pExpr 64397 ext/sqlite3/libsqlite/sqlite3.c zVal = sqlite3MPrintf(db, "%s%s", zNeg, pExpr->u.zToken); pExpr 64412 ext/sqlite3/libsqlite/sqlite3.c if( SQLITE_OK==sqlite3ValueFromExpr(db,pExpr->pLeft,enc,affinity,&pVal) pExpr 64433 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->u.zToken[0]=='x' || pExpr->u.zToken[0]=='X' ); pExpr 64434 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->u.zToken[1]=='\'' ); pExpr 64437 ext/sqlite3/libsqlite/sqlite3.c zVal = &pExpr->u.zToken[2]; pExpr 64447 ext/sqlite3/libsqlite/sqlite3.c rc = valueFromFunction(db, pExpr, enc, affinity, &pVal, pCtx); pExpr 64478 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* The expression to evaluate */ pExpr 64483 ext/sqlite3/libsqlite/sqlite3.c return valueFromExpr(db, pExpr, enc, affinity, ppVal, 0); pExpr 64562 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* The expression to extract a value from */ pExpr 64572 ext/sqlite3/libsqlite/sqlite3.c pExpr = sqlite3ExprSkipCollate(pExpr); pExpr 64574 ext/sqlite3/libsqlite/sqlite3.c if( !pExpr ){ pExpr 64579 ext/sqlite3/libsqlite/sqlite3.c }else if( pExpr->op==TK_VARIABLE pExpr 64580 ext/sqlite3/libsqlite/sqlite3.c || NEVER(pExpr->op==TK_REGISTER && pExpr->op2==TK_VARIABLE) pExpr 64583 ext/sqlite3/libsqlite/sqlite3.c int iBindVar = pExpr->iColumn; pExpr 64596 ext/sqlite3/libsqlite/sqlite3.c rc = valueFromExpr(db, pExpr, ENC(db), affinity, &pVal, pAlloc); pExpr 64638 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* The expression to extract a value from */ pExpr 64652 ext/sqlite3/libsqlite/sqlite3.c rc = stat4ValueFromExpr(pParse, pExpr, affinity, &alloc, &pVal); pExpr 64670 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* The expression to extract a value from */ pExpr 64674 ext/sqlite3/libsqlite/sqlite3.c return stat4ValueFromExpr(pParse, pExpr, affinity, 0, ppVal); pExpr 81179 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){ pExpr 81181 ext/sqlite3/libsqlite/sqlite3.c if( pExpr==0 ) return WRC_Continue; pExpr 81182 ext/sqlite3/libsqlite/sqlite3.c testcase( ExprHasProperty(pExpr, EP_TokenOnly) ); pExpr 81183 ext/sqlite3/libsqlite/sqlite3.c testcase( ExprHasProperty(pExpr, EP_Reduced) ); pExpr 81184 ext/sqlite3/libsqlite/sqlite3.c rc = pWalker->xExprCallback(pWalker, pExpr); pExpr 81186 ext/sqlite3/libsqlite/sqlite3.c && !ExprHasProperty(pExpr,EP_TokenOnly) ){ pExpr 81187 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3WalkExpr(pWalker, pExpr->pLeft) ) return WRC_Abort; pExpr 81188 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3WalkExpr(pWalker, pExpr->pRight) ) return WRC_Abort; pExpr 81189 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_xIsSelect) ){ pExpr 81190 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort; pExpr 81192 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort; pExpr 81207 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3WalkExpr(pWalker, pItem->pExpr) ) return WRC_Abort; pExpr 81326 ext/sqlite3/libsqlite/sqlite3.c static int incrAggDepth(Walker *pWalker, Expr *pExpr){ pExpr 81327 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op==TK_AGG_FUNCTION ) pExpr->op2 += pWalker->u.n; pExpr 81330 ext/sqlite3/libsqlite/sqlite3.c static void incrAggFunctionDepth(Expr *pExpr, int N){ pExpr 81336 ext/sqlite3/libsqlite/sqlite3.c sqlite3WalkExpr(&w, pExpr); pExpr 81387 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* Transform this into an alias to the result set */ pExpr 81396 ext/sqlite3/libsqlite/sqlite3.c pOrig = pEList->a[iCol].pExpr; pExpr 81411 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op==TK_COLLATE ){ pExpr 81412 ext/sqlite3/libsqlite/sqlite3.c pDup = sqlite3ExprAddCollateString(pParse, pDup, pExpr->u.zToken); pExpr 81422 ext/sqlite3/libsqlite/sqlite3.c ExprSetProperty(pExpr, EP_Static); pExpr 81423 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDelete(db, pExpr); pExpr 81424 ext/sqlite3/libsqlite/sqlite3.c memcpy(pExpr, pDup, sizeof(*pExpr)); pExpr 81425 ext/sqlite3/libsqlite/sqlite3.c if( !ExprHasProperty(pExpr, EP_IntValue) && pExpr->u.zToken!=0 ){ pExpr 81426 ext/sqlite3/libsqlite/sqlite3.c assert( (pExpr->flags & (EP_Reduced|EP_TokenOnly))==0 ); pExpr 81427 ext/sqlite3/libsqlite/sqlite3.c pExpr->u.zToken = sqlite3DbStrDup(db, pExpr->u.zToken); pExpr 81428 ext/sqlite3/libsqlite/sqlite3.c pExpr->flags |= EP_MemToken; pExpr 81513 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr /* Make this EXPR node point to the selected column */ pExpr 81530 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_TokenOnly|EP_Reduced) ); pExpr 81533 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable = -1; pExpr 81534 ext/sqlite3/libsqlite/sqlite3.c pExpr->pTab = 0; pExpr 81535 ext/sqlite3/libsqlite/sqlite3.c ExprSetVVAProperty(pExpr, EP_NoReduce); pExpr 81579 ext/sqlite3/libsqlite/sqlite3.c pExpr->iColumn = j; pExpr 81611 ext/sqlite3/libsqlite/sqlite3.c pExpr->iColumn = j==pTab->iPKey ? -1 : (i16)j; pExpr 81617 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable = pMatch->iCursor; pExpr 81618 ext/sqlite3/libsqlite/sqlite3.c pExpr->pTab = pMatch->pTab; pExpr 81622 ext/sqlite3/libsqlite/sqlite3.c ExprSetProperty(pExpr, EP_CanBeNull); pExpr 81624 ext/sqlite3/libsqlite/sqlite3.c pSchema = pExpr->pTab->pSchema; pExpr 81636 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable = 1; pExpr 81639 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable = 0; pExpr 81665 ext/sqlite3/libsqlite/sqlite3.c pExpr->affinity = SQLITE_AFF_INTEGER; pExpr 81666 ext/sqlite3/libsqlite/sqlite3.c }else if( pExpr->iTable==0 ){ pExpr 81675 ext/sqlite3/libsqlite/sqlite3.c pExpr->iColumn = (i16)iCol; pExpr 81676 ext/sqlite3/libsqlite/sqlite3.c pExpr->pTab = pTab; pExpr 81689 ext/sqlite3/libsqlite/sqlite3.c pExpr->iColumn = -1; /* IMP: R-44911-55124 */ pExpr 81690 ext/sqlite3/libsqlite/sqlite3.c pExpr->affinity = SQLITE_AFF_INTEGER; pExpr 81719 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->pLeft==0 && pExpr->pRight==0 ); pExpr 81720 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->x.pList==0 ); pExpr 81721 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->x.pSelect==0 ); pExpr 81722 ext/sqlite3/libsqlite/sqlite3.c pOrig = pEList->a[j].pExpr; pExpr 81727 ext/sqlite3/libsqlite/sqlite3.c resolveAlias(pParse, pEList, j, pExpr, "", nSubquery); pExpr 81755 ext/sqlite3/libsqlite/sqlite3.c if( cnt==0 && zTab==0 && ExprHasProperty(pExpr,EP_DblQuoted) ){ pExpr 81756 ext/sqlite3/libsqlite/sqlite3.c pExpr->op = TK_STRING; pExpr 81757 ext/sqlite3/libsqlite/sqlite3.c pExpr->pTab = 0; pExpr 81785 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->iColumn>=0 && pMatch!=0 ){ pExpr 81786 ext/sqlite3/libsqlite/sqlite3.c int n = pExpr->iColumn; pExpr 81791 ext/sqlite3/libsqlite/sqlite3.c assert( pMatch->iCursor==pExpr->iTable ); pExpr 81797 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDelete(db, pExpr->pLeft); pExpr 81798 ext/sqlite3/libsqlite/sqlite3.c pExpr->pLeft = 0; pExpr 81799 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDelete(db, pExpr->pRight); pExpr 81800 ext/sqlite3/libsqlite/sqlite3.c pExpr->pRight = 0; pExpr 81801 ext/sqlite3/libsqlite/sqlite3.c pExpr->op = (isTrigger ? TK_TRIGGER : TK_COLUMN); pExpr 81805 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op!=TK_AS ){ pExpr 81806 ext/sqlite3/libsqlite/sqlite3.c sqlite3AuthRead(pParse, pExpr, pSchema, pNC->pSrcList); pExpr 81902 ext/sqlite3/libsqlite/sqlite3.c static int resolveExprStep(Walker *pWalker, Expr *pExpr){ pExpr 81911 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_Resolved) ) return WRC_Prune; pExpr 81912 ext/sqlite3/libsqlite/sqlite3.c ExprSetProperty(pExpr, EP_Resolved); pExpr 81922 ext/sqlite3/libsqlite/sqlite3.c switch( pExpr->op ){ pExpr 81934 ext/sqlite3/libsqlite/sqlite3.c pExpr->op = TK_COLUMN; pExpr 81935 ext/sqlite3/libsqlite/sqlite3.c pExpr->pTab = pItem->pTab; pExpr 81936 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable = pItem->iCursor; pExpr 81937 ext/sqlite3/libsqlite/sqlite3.c pExpr->iColumn = -1; pExpr 81938 ext/sqlite3/libsqlite/sqlite3.c pExpr->affinity = SQLITE_AFF_INTEGER; pExpr 81947 ext/sqlite3/libsqlite/sqlite3.c return lookupName(pParse, 0, 0, pExpr->u.zToken, pNC, pExpr); pExpr 81960 ext/sqlite3/libsqlite/sqlite3.c pRight = pExpr->pRight; pExpr 81963 ext/sqlite3/libsqlite/sqlite3.c zTable = pExpr->pLeft->u.zToken; pExpr 81967 ext/sqlite3/libsqlite/sqlite3.c zDb = pExpr->pLeft->u.zToken; pExpr 81971 ext/sqlite3/libsqlite/sqlite3.c return lookupName(pParse, zDb, zTable, zColumn, pNC, pExpr); pExpr 81977 ext/sqlite3/libsqlite/sqlite3.c ExprList *pList = pExpr->x.pList; /* The argument list */ pExpr 81988 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); pExpr 81990 ext/sqlite3/libsqlite/sqlite3.c zId = pExpr->u.zToken; pExpr 82003 ext/sqlite3/libsqlite/sqlite3.c ExprSetProperty(pExpr, EP_Unlikely|EP_Skip); pExpr 82005 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable = exprProbability(pList->a[1].pExpr); pExpr 82006 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->iTable<0 ){ pExpr 82022 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable = pDef->zName[0]=='u' ? 8388608 : 125829120; pExpr 82033 ext/sqlite3/libsqlite/sqlite3.c pExpr->op = TK_NULL; pExpr 82038 ext/sqlite3/libsqlite/sqlite3.c ExprSetProperty(pExpr,EP_ConstFunc); pExpr 82057 ext/sqlite3/libsqlite/sqlite3.c pExpr->op = TK_AGG_FUNCTION; pExpr 82058 ext/sqlite3/libsqlite/sqlite3.c pExpr->op2 = 0; pExpr 82059 ext/sqlite3/libsqlite/sqlite3.c while( pNC2 && !sqlite3FunctionUsesThisSrc(pExpr, pNC2->pSrcList) ){ pExpr 82060 ext/sqlite3/libsqlite/sqlite3.c pExpr->op2++; pExpr 82079 ext/sqlite3/libsqlite/sqlite3.c case TK_EXISTS: testcase( pExpr->op==TK_EXISTS ); pExpr 82082 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_IN ); pExpr 82083 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_xIsSelect) ){ pExpr 82087 ext/sqlite3/libsqlite/sqlite3.c sqlite3WalkSelect(pWalker, pExpr->x.pSelect); pExpr 82090 ext/sqlite3/libsqlite/sqlite3.c ExprSetProperty(pExpr, EP_VarSelect); pExpr 82190 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3ExprCompare(pEList->a[i].pExpr, pE, -1)<2 ){ pExpr 82264 ext/sqlite3/libsqlite/sqlite3.c pE = sqlite3ExprSkipCollate(pItem->pExpr); pExpr 82288 ext/sqlite3/libsqlite/sqlite3.c if( pItem->pExpr==pE ){ pExpr 82289 ext/sqlite3/libsqlite/sqlite3.c pItem->pExpr = pNew; pExpr 82291 ext/sqlite3/libsqlite/sqlite3.c Expr *pParent = pItem->pExpr; pExpr 82352 ext/sqlite3/libsqlite/sqlite3.c resolveAlias(pParse, pEList, pItem->u.x.iOrderByCol-1, pItem->pExpr, pExpr 82393 ext/sqlite3/libsqlite/sqlite3.c Expr *pE = pItem->pExpr; pExpr 82424 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3ExprCompare(pE, pSelect->pEList->a[j].pExpr, -1)==0 ){ pExpr 82539 ext/sqlite3/libsqlite/sqlite3.c Expr *pX = pEList->a[i].pExpr; pExpr 82622 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pItem->pExpr, EP_Agg) ){ pExpr 82696 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr /* The expression to be analyzed. */ pExpr 82701 ext/sqlite3/libsqlite/sqlite3.c if( pExpr==0 ) return 0; pExpr 82705 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3ExprCheckHeight(pParse, pExpr->nHeight+pNC->pParse->nHeight) ){ pExpr 82708 ext/sqlite3/libsqlite/sqlite3.c pParse->nHeight += pExpr->nHeight; pExpr 82718 ext/sqlite3/libsqlite/sqlite3.c sqlite3WalkExpr(&w, pExpr); pExpr 82720 ext/sqlite3/libsqlite/sqlite3.c pNC->pParse->nHeight -= pExpr->nHeight; pExpr 82723 ext/sqlite3/libsqlite/sqlite3.c ExprSetProperty(pExpr, EP_Error); pExpr 82726 ext/sqlite3/libsqlite/sqlite3.c ExprSetProperty(pExpr, EP_Agg); pExpr 82729 ext/sqlite3/libsqlite/sqlite3.c return ExprHasProperty(pExpr, EP_Error); pExpr 82776 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* Expression to resolve. May be NULL. */ pExpr 82793 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3ResolveExprNames(&sNC, pExpr) ) return; pExpr 82796 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3ResolveExprNames(&sNC, pList->a[i].pExpr) ){ pExpr 82836 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr){ pExpr 82838 ext/sqlite3/libsqlite/sqlite3.c pExpr = sqlite3ExprSkipCollate(pExpr); pExpr 82839 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->flags & EP_Generic ) return 0; pExpr 82840 ext/sqlite3/libsqlite/sqlite3.c op = pExpr->op; pExpr 82842 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->flags&EP_xIsSelect ); pExpr 82843 ext/sqlite3/libsqlite/sqlite3.c return sqlite3ExprAffinity(pExpr->x.pSelect->pEList->a[0].pExpr); pExpr 82847 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_IntValue) ); pExpr 82848 ext/sqlite3/libsqlite/sqlite3.c return sqlite3AffinityType(pExpr->u.zToken, 0); pExpr 82852 ext/sqlite3/libsqlite/sqlite3.c && pExpr->pTab!=0 pExpr 82856 ext/sqlite3/libsqlite/sqlite3.c int j = pExpr->iColumn; pExpr 82858 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->pTab && j<pExpr->pTab->nCol ); pExpr 82859 ext/sqlite3/libsqlite/sqlite3.c return pExpr->pTab->aCol[j].affinity; pExpr 82861 ext/sqlite3/libsqlite/sqlite3.c return pExpr->affinity; pExpr 82874 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* Add the "COLLATE" clause to this expression */ pExpr 82881 ext/sqlite3/libsqlite/sqlite3.c pNew->pLeft = pExpr; pExpr 82883 ext/sqlite3/libsqlite/sqlite3.c pExpr = pNew; pExpr 82886 ext/sqlite3/libsqlite/sqlite3.c return pExpr; pExpr 82888 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE Expr *sqlite3ExprAddCollateString(Parse *pParse, Expr *pExpr, const char *zC){ pExpr 82893 ext/sqlite3/libsqlite/sqlite3.c return sqlite3ExprAddCollateToken(pParse, pExpr, &s, 0); pExpr 82900 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE Expr *sqlite3ExprSkipCollate(Expr *pExpr){ pExpr 82901 ext/sqlite3/libsqlite/sqlite3.c while( pExpr && ExprHasProperty(pExpr, EP_Skip) ){ pExpr 82902 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_Unlikely) ){ pExpr 82903 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); pExpr 82904 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->x.pList->nExpr>0 ); pExpr 82905 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op==TK_FUNCTION ); pExpr 82906 ext/sqlite3/libsqlite/sqlite3.c pExpr = pExpr->x.pList->a[0].pExpr; pExpr 82908 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op==TK_COLLATE || pExpr->op==TK_AS ); pExpr 82909 ext/sqlite3/libsqlite/sqlite3.c pExpr = pExpr->pLeft; pExpr 82912 ext/sqlite3/libsqlite/sqlite3.c return pExpr; pExpr 82924 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr){ pExpr 82927 ext/sqlite3/libsqlite/sqlite3.c Expr *p = pExpr; pExpr 82965 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(p->x.pList->a[i].pExpr, EP_Collate) ){ pExpr 82966 ext/sqlite3/libsqlite/sqlite3.c pNext = p->x.pList->a[i].pExpr; pExpr 82988 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE char sqlite3CompareAffinity(Expr *pExpr, char aff2){ pExpr 82989 ext/sqlite3/libsqlite/sqlite3.c char aff1 = sqlite3ExprAffinity(pExpr); pExpr 83015 ext/sqlite3/libsqlite/sqlite3.c static char comparisonAffinity(Expr *pExpr){ pExpr 83017 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op==TK_EQ || pExpr->op==TK_IN || pExpr->op==TK_LT || pExpr 83018 ext/sqlite3/libsqlite/sqlite3.c pExpr->op==TK_GT || pExpr->op==TK_GE || pExpr->op==TK_LE || pExpr 83019 ext/sqlite3/libsqlite/sqlite3.c pExpr->op==TK_NE || pExpr->op==TK_IS || pExpr->op==TK_ISNOT ); pExpr 83020 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->pLeft ); pExpr 83021 ext/sqlite3/libsqlite/sqlite3.c aff = sqlite3ExprAffinity(pExpr->pLeft); pExpr 83022 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->pRight ){ pExpr 83023 ext/sqlite3/libsqlite/sqlite3.c aff = sqlite3CompareAffinity(pExpr->pRight, aff); pExpr 83024 ext/sqlite3/libsqlite/sqlite3.c }else if( ExprHasProperty(pExpr, EP_xIsSelect) ){ pExpr 83025 ext/sqlite3/libsqlite/sqlite3.c aff = sqlite3CompareAffinity(pExpr->x.pSelect->pEList->a[0].pExpr, aff); pExpr 83038 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity){ pExpr 83039 ext/sqlite3/libsqlite/sqlite3.c char aff = comparisonAffinity(pExpr); pExpr 83154 ext/sqlite3/libsqlite/sqlite3.c heightOfExpr(p->a[i].pExpr, pnHeight); pExpr 83453 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr){ pExpr 83457 ext/sqlite3/libsqlite/sqlite3.c if( pExpr==0 ) return; pExpr 83458 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_IntValue|EP_Reduced|EP_TokenOnly) ); pExpr 83459 ext/sqlite3/libsqlite/sqlite3.c z = pExpr->u.zToken; pExpr 83465 ext/sqlite3/libsqlite/sqlite3.c pExpr->iColumn = (ynVar)(++pParse->nVar); pExpr 83474 ext/sqlite3/libsqlite/sqlite3.c pExpr->iColumn = x = (ynVar)i; pExpr 83495 ext/sqlite3/libsqlite/sqlite3.c pExpr->iColumn = x = (ynVar)i+1; pExpr 83499 ext/sqlite3/libsqlite/sqlite3.c if( x==0 ) x = pExpr->iColumn = (ynVar)(++pParse->nVar); pExpr 83803 ext/sqlite3/libsqlite/sqlite3.c Expr *pOldExpr = pOldItem->pExpr; pExpr 83804 ext/sqlite3/libsqlite/sqlite3.c pItem->pExpr = sqlite3ExprDup(db, pOldExpr, flags); pExpr 83930 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr /* Expression to be appended. Might be NULL */ pExpr 83953 ext/sqlite3/libsqlite/sqlite3.c pItem->pExpr = pExpr; pExpr 83959 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDelete(db, pExpr); pExpr 84007 ext/sqlite3/libsqlite/sqlite3.c assert( db->mallocFailed || pItem->pExpr==pSpan->pExpr ); pExpr 84040 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDelete(db, pItem->pExpr); pExpr 84057 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pList->a[i].pExpr; pExpr 84058 ext/sqlite3/libsqlite/sqlite3.c if( ALWAYS(pExpr) ) m |= pExpr->flags; pExpr 84089 ext/sqlite3/libsqlite/sqlite3.c static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){ pExpr 84094 ext/sqlite3/libsqlite/sqlite3.c if( pWalker->eCode==2 && ExprHasProperty(pExpr, EP_FromJoin) ){ pExpr 84099 ext/sqlite3/libsqlite/sqlite3.c switch( pExpr->op ){ pExpr 84104 ext/sqlite3/libsqlite/sqlite3.c if( pWalker->eCode>=4 || ExprHasProperty(pExpr,EP_ConstFunc) ){ pExpr 84114 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_ID ); pExpr 84115 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_COLUMN ); pExpr 84116 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_AGG_FUNCTION ); pExpr 84117 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_AGG_COLUMN ); pExpr 84118 ext/sqlite3/libsqlite/sqlite3.c if( pWalker->eCode==3 && pExpr->iTable==pWalker->u.iCur ){ pExpr 84129 ext/sqlite3/libsqlite/sqlite3.c pExpr->op = TK_NULL; pExpr 84138 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_SELECT ); /* selectNodeIsConstant will disallow */ pExpr 84139 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_EXISTS ); /* selectNodeIsConstant will disallow */ pExpr 84364 ext/sqlite3/libsqlite/sqlite3.c if( pEList->a[0].pExpr->op!=TK_COLUMN ) return 0; /* Result is a column */ pExpr 84501 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr; /* Expression <column> */ pExpr 84507 ext/sqlite3/libsqlite/sqlite3.c assert( p->pEList->a[0].pExpr!=0 ); /* Because of isCandidateForInOpt(p) */ pExpr 84510 ext/sqlite3/libsqlite/sqlite3.c pExpr = p->pEList->a[0].pExpr; pExpr 84511 ext/sqlite3/libsqlite/sqlite3.c iCol = (i16)pExpr->iColumn; pExpr 84537 ext/sqlite3/libsqlite/sqlite3.c CollSeq *pReq = sqlite3BinaryCompareCollSeq(pParse, pX->pLeft, pExpr); pExpr 84637 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* The IN, SELECT, or EXISTS operator */ pExpr 84657 ext/sqlite3/libsqlite/sqlite3.c if( !ExprHasProperty(pExpr, EP_VarSelect) ){ pExpr 84665 ext/sqlite3/libsqlite/sqlite3.c pExpr->op==TK_IN?"LIST":"SCALAR", pParse->iNextSelectId pExpr 84671 ext/sqlite3/libsqlite/sqlite3.c switch( pExpr->op ){ pExpr 84675 ext/sqlite3/libsqlite/sqlite3.c Expr *pLeft = pExpr->pLeft; /* the LHS of the IN operator */ pExpr 84693 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable = pParse->nTab++; pExpr 84694 ext/sqlite3/libsqlite/sqlite3.c addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, pExpr->iTable, !isRowid); pExpr 84697 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_xIsSelect) ){ pExpr 84703 ext/sqlite3/libsqlite/sqlite3.c Select *pSelect = pExpr->x.pSelect; pExpr 84708 ext/sqlite3/libsqlite/sqlite3.c sqlite3SelectDestInit(&dest, SRT_Set, pExpr->iTable); pExpr 84710 ext/sqlite3/libsqlite/sqlite3.c assert( (pExpr->iTable&0x0000FFFF)==pExpr->iTable ); pExpr 84723 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo->aColl[0] = sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft, pExpr 84724 ext/sqlite3/libsqlite/sqlite3.c pEList->a[0].pExpr); pExpr 84725 ext/sqlite3/libsqlite/sqlite3.c }else if( ALWAYS(pExpr->x.pList!=0) ){ pExpr 84734 ext/sqlite3/libsqlite/sqlite3.c ExprList *pList = pExpr->x.pList; pExpr 84743 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo->aColl[0] = sqlite3ExprCollSeq(pParse, pExpr->pLeft); pExpr 84751 ext/sqlite3/libsqlite/sqlite3.c Expr *pE2 = pItem->pExpr; pExpr 84766 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeAddOp3(v, OP_InsertInt, pExpr->iTable, r2, iValToIns); pExpr 84773 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeAddOp3(v, OP_Insert, pExpr->iTable, r2, r3); pExpr 84777 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeAddOp2(v, OP_IdxInsert, pExpr->iTable, r2); pExpr 84802 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_EXISTS ); pExpr 84803 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_SELECT ); pExpr 84804 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op==TK_EXISTS || pExpr->op==TK_SELECT ); pExpr 84806 ext/sqlite3/libsqlite/sqlite3.c assert( ExprHasProperty(pExpr, EP_xIsSelect) ); pExpr 84807 ext/sqlite3/libsqlite/sqlite3.c pSel = pExpr->x.pSelect; pExpr 84809 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op==TK_SELECT ){ pExpr 84828 ext/sqlite3/libsqlite/sqlite3.c ExprSetVVAProperty(pExpr, EP_NoReduce); pExpr 84834 ext/sqlite3/libsqlite/sqlite3.c sqlite3SetHasNullFlag(v, pExpr->iTable, rHasNullFlag); pExpr 84866 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* The IN expression */ pExpr 84882 ext/sqlite3/libsqlite/sqlite3.c eType = sqlite3FindInIndex(pParse, pExpr, pExpr 84890 ext/sqlite3/libsqlite/sqlite3.c affinity = comparisonAffinity(pExpr); pExpr 84896 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pExpr->pLeft, r1); pExpr 84903 ext/sqlite3/libsqlite/sqlite3.c ExprList *pList = pExpr->x.pList; pExpr 84904 ext/sqlite3/libsqlite/sqlite3.c CollSeq *pColl = sqlite3ExprCollSeq(pParse, pExpr->pLeft); pExpr 84909 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); pExpr 84915 ext/sqlite3/libsqlite/sqlite3.c r2 = sqlite3ExprCodeTemp(pParse, pList->a[ii].pExpr, ®ToFree); pExpr 84916 ext/sqlite3/libsqlite/sqlite3.c if( regCkNull && sqlite3ExprCanBeNull(pList->a[ii].pExpr) ){ pExpr 84944 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3ExprCanBeNull(pExpr->pLeft) ){ pExpr 84951 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeAddOp2(v, OP_Rewind, pExpr->iTable, destIfFalse); pExpr 84962 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeAddOp3(v, OP_NotExists, pExpr->iTable, destIfFalse, r1); pExpr 84984 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeAddOp4Int(v, OP_NotFound, pExpr->iTable, destIfFalse, r1, 1); pExpr 84999 ext/sqlite3/libsqlite/sqlite3.c j1 = sqlite3VdbeAddOp4Int(v, OP_Found, pExpr->iTable, 0, r1, 1); pExpr 85054 ext/sqlite3/libsqlite/sqlite3.c static void codeInteger(Parse *pParse, Expr *pExpr, int negFlag, int iMem){ pExpr 85056 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->flags & EP_IntValue ){ pExpr 85057 ext/sqlite3/libsqlite/sqlite3.c int i = pExpr->u.iValue; pExpr 85064 ext/sqlite3/libsqlite/sqlite3.c const char *z = pExpr->u.zToken; pExpr 85378 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){ pExpr 85394 ext/sqlite3/libsqlite/sqlite3.c if( pExpr==0 ){ pExpr 85397 ext/sqlite3/libsqlite/sqlite3.c op = pExpr->op; pExpr 85401 ext/sqlite3/libsqlite/sqlite3.c AggInfo *pAggInfo = pExpr->pAggInfo; pExpr 85402 ext/sqlite3/libsqlite/sqlite3.c struct AggInfo_col *pCol = &pAggInfo->aCol[pExpr->iAgg]; pExpr 85415 ext/sqlite3/libsqlite/sqlite3.c int iTab = pExpr->iTable; pExpr 85419 ext/sqlite3/libsqlite/sqlite3.c inReg = pExpr->iColumn + pParse->ckBase; pExpr 85426 ext/sqlite3/libsqlite/sqlite3.c inReg = sqlite3ExprCodeGetColumn(pParse, pExpr->pTab, pExpr 85427 ext/sqlite3/libsqlite/sqlite3.c pExpr->iColumn, iTab, target, pExpr 85428 ext/sqlite3/libsqlite/sqlite3.c pExpr->op2); pExpr 85432 ext/sqlite3/libsqlite/sqlite3.c codeInteger(pParse, pExpr, 0, target); pExpr 85437 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_IntValue) ); pExpr 85438 ext/sqlite3/libsqlite/sqlite3.c codeReal(v, pExpr->u.zToken, 0, target); pExpr 85443 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_IntValue) ); pExpr 85444 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeAddOp4(v, OP_String8, 0, target, 0, pExpr->u.zToken, 0); pExpr 85456 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_IntValue) ); pExpr 85457 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->u.zToken[0]=='x' || pExpr->u.zToken[0]=='X' ); pExpr 85458 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->u.zToken[1]=='\'' ); pExpr 85459 ext/sqlite3/libsqlite/sqlite3.c z = &pExpr->u.zToken[2]; pExpr 85468 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_IntValue) ); pExpr 85469 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->u.zToken!=0 ); pExpr 85470 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->u.zToken[0]!=0 ); pExpr 85471 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeAddOp2(v, OP_Variable, pExpr->iColumn, target); pExpr 85472 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->u.zToken[1]!=0 ){ pExpr 85473 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->u.zToken[0]=='?' pExpr 85474 ext/sqlite3/libsqlite/sqlite3.c || strcmp(pExpr->u.zToken, pParse->azVar[pExpr->iColumn-1])==0 ); pExpr 85475 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeChangeP4(v, -1, pParse->azVar[pExpr->iColumn-1], P4_STATIC); pExpr 85480 ext/sqlite3/libsqlite/sqlite3.c inReg = pExpr->iTable; pExpr 85484 ext/sqlite3/libsqlite/sqlite3.c inReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target); pExpr 85490 ext/sqlite3/libsqlite/sqlite3.c inReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target); pExpr 85496 ext/sqlite3/libsqlite/sqlite3.c sqlite3AffinityType(pExpr->u.zToken, 0)); pExpr 85508 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); pExpr 85509 ext/sqlite3/libsqlite/sqlite3.c r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); pExpr 85510 ext/sqlite3/libsqlite/sqlite3.c codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op, pExpr 85526 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); pExpr 85527 ext/sqlite3/libsqlite/sqlite3.c r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); pExpr 85529 ext/sqlite3/libsqlite/sqlite3.c codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op, pExpr 85560 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); pExpr 85561 ext/sqlite3/libsqlite/sqlite3.c r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); pExpr 85568 ext/sqlite3/libsqlite/sqlite3.c Expr *pLeft = pExpr->pLeft; pExpr 85574 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_IntValue) ); pExpr 85582 ext/sqlite3/libsqlite/sqlite3.c r2 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free2); pExpr 85593 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); pExpr 85605 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); pExpr 85615 ext/sqlite3/libsqlite/sqlite3.c AggInfo *pInfo = pExpr->pAggInfo; pExpr 85617 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_IntValue) ); pExpr 85618 ext/sqlite3/libsqlite/sqlite3.c sqlite3ErrorMsg(pParse, "misuse of aggregate: %s()", pExpr->u.zToken); pExpr 85620 ext/sqlite3/libsqlite/sqlite3.c inReg = pInfo->aFunc[pExpr->iAgg].iMem; pExpr 85635 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); pExpr 85636 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_TokenOnly) ){ pExpr 85639 ext/sqlite3/libsqlite/sqlite3.c pFarg = pExpr->x.pList; pExpr 85642 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_IntValue) ); pExpr 85643 ext/sqlite3/libsqlite/sqlite3.c zId = pExpr->u.zToken; pExpr 85658 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pFarg->a[0].pExpr, target); pExpr 85664 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pFarg->a[i].pExpr, target); pExpr 85676 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pFarg->a[0].pExpr, target); pExpr 85681 ext/sqlite3/libsqlite/sqlite3.c if( i<32 && sqlite3ExprIsConstant(pFarg->a[i].pExpr) ){ pExpr 85686 ext/sqlite3/libsqlite/sqlite3.c pColl = sqlite3ExprCollSeq(pParse, pFarg->a[i].pExpr); pExpr 85705 ext/sqlite3/libsqlite/sqlite3.c assert( pFarg->a[0].pExpr!=0 ); pExpr 85706 ext/sqlite3/libsqlite/sqlite3.c exprOp = pFarg->a[0].pExpr->op; pExpr 85711 ext/sqlite3/libsqlite/sqlite3.c pFarg->a[0].pExpr->op2 = pExpr 85736 ext/sqlite3/libsqlite/sqlite3.c if( nFarg>=2 && (pExpr->flags & EP_InfixFunc) ){ pExpr 85737 ext/sqlite3/libsqlite/sqlite3.c pDef = sqlite3VtabOverloadFunction(db, pDef, nFarg, pFarg->a[1].pExpr); pExpr 85739 ext/sqlite3/libsqlite/sqlite3.c pDef = sqlite3VtabOverloadFunction(db, pDef, nFarg, pFarg->a[0].pExpr); pExpr 85759 ext/sqlite3/libsqlite/sqlite3.c inReg = sqlite3CodeSubselect(pParse, pExpr, 0, 0); pExpr 85766 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCodeIN(pParse, pExpr, destIfFalse, destIfNull); pExpr 85788 ext/sqlite3/libsqlite/sqlite3.c Expr *pLeft = pExpr->pLeft; pExpr 85789 ext/sqlite3/libsqlite/sqlite3.c struct ExprList_item *pLItem = pExpr->x.pList->a; pExpr 85790 ext/sqlite3/libsqlite/sqlite3.c Expr *pRight = pLItem->pExpr; pExpr 85801 ext/sqlite3/libsqlite/sqlite3.c pRight = pLItem->pExpr; pExpr 85814 ext/sqlite3/libsqlite/sqlite3.c inReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target); pExpr 85844 ext/sqlite3/libsqlite/sqlite3.c Table *pTab = pExpr->pTab; pExpr 85845 ext/sqlite3/libsqlite/sqlite3.c int p1 = pExpr->iTable * (pTab->nCol+1) + 1 + pExpr->iColumn; pExpr 85847 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->iTable==0 || pExpr->iTable==1 ); pExpr 85848 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->iColumn>=-1 && pExpr->iColumn<pTab->nCol ); pExpr 85849 ext/sqlite3/libsqlite/sqlite3.c assert( pTab->iPKey<0 || pExpr->iColumn!=pTab->iPKey ); pExpr 85854 ext/sqlite3/libsqlite/sqlite3.c (pExpr->iTable ? "new" : "old"), pExpr 85855 ext/sqlite3/libsqlite/sqlite3.c (pExpr->iColumn<0 ? "rowid" : pExpr->pTab->aCol[pExpr->iColumn].zName), pExpr 85865 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->iColumn>=0 pExpr 85866 ext/sqlite3/libsqlite/sqlite3.c && pTab->aCol[pExpr->iColumn].affinity==SQLITE_AFF_REAL pExpr 85908 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_xIsSelect) && pExpr->x.pList ); pExpr 85909 ext/sqlite3/libsqlite/sqlite3.c assert(pExpr->x.pList->nExpr > 0); pExpr 85910 ext/sqlite3/libsqlite/sqlite3.c pEList = pExpr->x.pList; pExpr 85914 ext/sqlite3/libsqlite/sqlite3.c if( (pX = pExpr->pLeft)!=0 ){ pExpr 85932 ext/sqlite3/libsqlite/sqlite3.c opCompare.pRight = aListelem[i].pExpr; pExpr 85934 ext/sqlite3/libsqlite/sqlite3.c pTest = aListelem[i].pExpr; pExpr 85939 ext/sqlite3/libsqlite/sqlite3.c testcase( aListelem[i+1].pExpr->op==TK_COLUMN ); pExpr 85940 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, aListelem[i+1].pExpr, target); pExpr 85947 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pEList->a[nExpr-1].pExpr, target); pExpr 85959 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->affinity==OE_Rollback pExpr 85960 ext/sqlite3/libsqlite/sqlite3.c || pExpr->affinity==OE_Abort pExpr 85961 ext/sqlite3/libsqlite/sqlite3.c || pExpr->affinity==OE_Fail pExpr 85962 ext/sqlite3/libsqlite/sqlite3.c || pExpr->affinity==OE_Ignore pExpr 85969 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->affinity==OE_Abort ){ pExpr 85972 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_IntValue) ); pExpr 85973 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->affinity==OE_Ignore ){ pExpr 85975 ext/sqlite3/libsqlite/sqlite3.c v, OP_Halt, SQLITE_OK, OE_Ignore, 0, pExpr->u.zToken,0); pExpr 85979 ext/sqlite3/libsqlite/sqlite3.c pExpr->affinity, pExpr->u.zToken, 0, 0); pExpr 85996 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* The expression to code when the VDBE initializes */ pExpr 86003 ext/sqlite3/libsqlite/sqlite3.c pExpr = sqlite3ExprDup(pParse->db, pExpr, 0); pExpr 86004 ext/sqlite3/libsqlite/sqlite3.c p = sqlite3ExprListAppend(pParse, p, pExpr); pExpr 86026 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse *pParse, Expr *pExpr, int *pReg){ pExpr 86028 ext/sqlite3/libsqlite/sqlite3.c pExpr = sqlite3ExprSkipCollate(pExpr); pExpr 86030 ext/sqlite3/libsqlite/sqlite3.c && pExpr->op!=TK_REGISTER pExpr 86031 ext/sqlite3/libsqlite/sqlite3.c && sqlite3ExprIsConstantNotJoin(pExpr) pExpr 86039 ext/sqlite3/libsqlite/sqlite3.c if( pItem->reusable && sqlite3ExprCompare(pItem->pExpr,pExpr,-1)==0 ){ pExpr 86045 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCodeAtInit(pParse, pExpr, r2, 1); pExpr 86048 ext/sqlite3/libsqlite/sqlite3.c r2 = sqlite3ExprCodeTarget(pParse, pExpr, r1); pExpr 86064 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){ pExpr 86068 ext/sqlite3/libsqlite/sqlite3.c if( pExpr && pExpr->op==TK_REGISTER ){ pExpr 86069 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeAddOp2(pParse->pVdbe, OP_Copy, pExpr->iTable, target); pExpr 86071 ext/sqlite3/libsqlite/sqlite3.c inReg = sqlite3ExprCodeTarget(pParse, pExpr, target); pExpr 86085 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3ExprCodeFactorable(Parse *pParse, Expr *pExpr, int target){ pExpr 86086 ext/sqlite3/libsqlite/sqlite3.c if( pParse->okConstFactor && sqlite3ExprIsConstant(pExpr) ){ pExpr 86087 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCodeAtInit(pParse, pExpr, target, 0); pExpr 86089 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pExpr, target); pExpr 86105 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3ExprCodeAndCache(Parse *pParse, Expr *pExpr, int target){ pExpr 86110 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op!=TK_REGISTER ); pExpr 86111 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pExpr, target); pExpr 86114 ext/sqlite3/libsqlite/sqlite3.c exprToRegister(pExpr, iMem); pExpr 86121 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 moreToFollow){ pExpr 86125 ext/sqlite3/libsqlite/sqlite3.c if( pExpr==0 ){ pExpr 86130 ext/sqlite3/libsqlite/sqlite3.c switch( pExpr->op ){ pExpr 86133 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable, pExpr->iColumn); pExpr 86137 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->iTable<0 ){ pExpr 86139 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView, "COLUMN(%d)", pExpr->iColumn); pExpr 86142 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable, pExpr->iColumn); pExpr 86147 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->flags & EP_IntValue ){ pExpr 86148 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView, "%d", pExpr->u.iValue); pExpr 86150 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView, "%s", pExpr->u.zToken); pExpr 86156 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView,"%s", pExpr->u.zToken); pExpr 86161 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView,"%Q", pExpr->u.zToken); pExpr 86170 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView,"%s", pExpr->u.zToken); pExpr 86176 ext/sqlite3/libsqlite/sqlite3.c pExpr->u.zToken, pExpr->iColumn); pExpr 86180 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView,"REGISTER(%d)", pExpr->iTable); pExpr 86184 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView,"AS %Q", pExpr->u.zToken); pExpr 86185 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); pExpr 86189 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView,"ID \"%w\"", pExpr->u.zToken); pExpr 86195 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView,"CAST %Q", pExpr->u.zToken); pExpr 86196 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); pExpr 86230 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView, "COLLATE %Q", pExpr->u.zToken); pExpr 86231 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); pExpr 86238 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_TokenOnly) ){ pExpr 86241 ext/sqlite3/libsqlite/sqlite3.c pFarg = pExpr->x.pList; pExpr 86243 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op==TK_AGG_FUNCTION ){ pExpr 86245 ext/sqlite3/libsqlite/sqlite3.c pExpr->op2, pExpr->u.zToken); pExpr 86247 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView, "FUNCTION %Q", pExpr->u.zToken); pExpr 86257 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); pExpr 86262 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); pExpr 86267 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); pExpr 86268 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_xIsSelect) ){ pExpr 86269 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); pExpr 86271 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0); pExpr 86289 ext/sqlite3/libsqlite/sqlite3.c Expr *pX = pExpr->pLeft; pExpr 86290 ext/sqlite3/libsqlite/sqlite3.c Expr *pY = pExpr->x.pList->a[0].pExpr; pExpr 86291 ext/sqlite3/libsqlite/sqlite3.c Expr *pZ = pExpr->x.pList->a[1].pExpr; pExpr 86307 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable ? "NEW" : "OLD", pExpr->iColumn); pExpr 86312 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); pExpr 86313 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExprList(pView, pExpr->x.pList, 0, 0); pExpr 86319 ext/sqlite3/libsqlite/sqlite3.c switch( pExpr->affinity ){ pExpr 86325 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView, "RAISE %s(%Q)", zType, pExpr->u.zToken); pExpr 86330 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewLine(pView, "op=%d", pExpr->op); pExpr 86336 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); pExpr 86337 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExpr(pView, pExpr->pRight, 0); pExpr 86340 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); pExpr 86364 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExpr(pView, pList->a[i].pExpr, i<pList->nExpr-1); pExpr 86406 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pItem->pExpr; pExpr 86407 ext/sqlite3/libsqlite/sqlite3.c if( (flags & SQLITE_ECEL_FACTOR)!=0 && sqlite3ExprIsConstant(pExpr) ){ pExpr 86408 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCodeAtInit(pParse, pExpr, target+i, 0); pExpr 86410 ext/sqlite3/libsqlite/sqlite3.c int inReg = sqlite3ExprCodeTarget(pParse, pExpr, target+i); pExpr 86443 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* The BETWEEN expression */ pExpr 86454 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); pExpr 86455 ext/sqlite3/libsqlite/sqlite3.c exprX = *pExpr->pLeft; pExpr 86461 ext/sqlite3/libsqlite/sqlite3.c compLeft.pRight = pExpr->x.pList->a[0].pExpr; pExpr 86464 ext/sqlite3/libsqlite/sqlite3.c compRight.pRight = pExpr->x.pList->a[1].pExpr; pExpr 86498 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){ pExpr 86507 ext/sqlite3/libsqlite/sqlite3.c if( NEVER(pExpr==0) ) return; /* No way this can happen */ pExpr 86508 ext/sqlite3/libsqlite/sqlite3.c op = pExpr->op; pExpr 86513 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfFalse(pParse, pExpr->pLeft, d2,jumpIfNull^SQLITE_JUMPIFNULL); pExpr 86515 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfTrue(pParse, pExpr->pRight, dest, jumpIfNull); pExpr 86522 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull); pExpr 86524 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfTrue(pParse, pExpr->pRight, dest, jumpIfNull); pExpr 86530 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull); pExpr 86540 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); pExpr 86541 ext/sqlite3/libsqlite/sqlite3.c r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); pExpr 86542 ext/sqlite3/libsqlite/sqlite3.c codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op, pExpr 86558 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); pExpr 86559 ext/sqlite3/libsqlite/sqlite3.c r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); pExpr 86561 ext/sqlite3/libsqlite/sqlite3.c codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op, pExpr 86573 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); pExpr 86582 ext/sqlite3/libsqlite/sqlite3.c exprCodeBetween(pParse, pExpr, dest, 1, jumpIfNull); pExpr 86589 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCodeIN(pParse, pExpr, destIfFalse, destIfNull); pExpr 86596 ext/sqlite3/libsqlite/sqlite3.c if( exprAlwaysTrue(pExpr) ){ pExpr 86598 ext/sqlite3/libsqlite/sqlite3.c }else if( exprAlwaysFalse(pExpr) ){ pExpr 86601 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr, ®Free1); pExpr 86623 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){ pExpr 86632 ext/sqlite3/libsqlite/sqlite3.c if( pExpr==0 ) return; pExpr 86652 ext/sqlite3/libsqlite/sqlite3.c op = ((pExpr->op+(TK_ISNULL&1))^1)-(TK_ISNULL&1); pExpr 86656 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op!=TK_ISNULL || op==OP_NotNull ); pExpr 86657 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op!=TK_NOTNULL || op==OP_IsNull ); pExpr 86658 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op!=TK_NE || op==OP_Eq ); pExpr 86659 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op!=TK_EQ || op==OP_Ne ); pExpr 86660 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op!=TK_LT || op==OP_Ge ); pExpr 86661 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op!=TK_LE || op==OP_Gt ); pExpr 86662 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op!=TK_GT || op==OP_Le ); pExpr 86663 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op!=TK_GE || op==OP_Lt ); pExpr 86665 ext/sqlite3/libsqlite/sqlite3.c switch( pExpr->op ){ pExpr 86668 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull); pExpr 86670 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfFalse(pParse, pExpr->pRight, dest, jumpIfNull); pExpr 86677 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfTrue(pParse, pExpr->pLeft, d2, jumpIfNull^SQLITE_JUMPIFNULL); pExpr 86679 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfFalse(pParse, pExpr->pRight, dest, jumpIfNull); pExpr 86686 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull); pExpr 86696 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); pExpr 86697 ext/sqlite3/libsqlite/sqlite3.c r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); pExpr 86698 ext/sqlite3/libsqlite/sqlite3.c codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op, pExpr 86712 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_IS ); pExpr 86713 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_ISNOT ); pExpr 86714 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); pExpr 86715 ext/sqlite3/libsqlite/sqlite3.c r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); pExpr 86716 ext/sqlite3/libsqlite/sqlite3.c op = (pExpr->op==TK_IS) ? TK_NE : TK_EQ; pExpr 86717 ext/sqlite3/libsqlite/sqlite3.c codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op, pExpr 86727 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); pExpr 86736 ext/sqlite3/libsqlite/sqlite3.c exprCodeBetween(pParse, pExpr, dest, 0, jumpIfNull); pExpr 86742 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCodeIN(pParse, pExpr, dest, dest); pExpr 86745 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCodeIN(pParse, pExpr, dest, destIfNull); pExpr 86752 ext/sqlite3/libsqlite/sqlite3.c if( exprAlwaysFalse(pExpr) ){ pExpr 86754 ext/sqlite3/libsqlite/sqlite3.c }else if( exprAlwaysTrue(pExpr) ){ pExpr 86757 ext/sqlite3/libsqlite/sqlite3.c r1 = sqlite3ExprCodeTemp(pParse, pExpr, ®Free1); pExpr 86854 ext/sqlite3/libsqlite/sqlite3.c Expr *pExprA = pA->a[i].pExpr; pExpr 86855 ext/sqlite3/libsqlite/sqlite3.c Expr *pExprB = pB->a[i].pExpr; pExpr 86916 ext/sqlite3/libsqlite/sqlite3.c static int exprSrcCount(Walker *pWalker, Expr *pExpr){ pExpr 86922 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op==TK_COLUMN || NEVER(pExpr->op==TK_AGG_COLUMN) ){ pExpr 86928 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->iTable==pSrc->a[i].iCursor ) break; pExpr 86945 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3FunctionUsesThisSrc(Expr *pExpr, SrcList *pSrcList){ pExpr 86948 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op==TK_AGG_FUNCTION ); pExpr 86955 ext/sqlite3/libsqlite/sqlite3.c sqlite3WalkExprList(&w, pExpr->x.pList); pExpr 86996 ext/sqlite3/libsqlite/sqlite3.c static int analyzeAggregate(Walker *pWalker, Expr *pExpr){ pExpr 87003 ext/sqlite3/libsqlite/sqlite3.c switch( pExpr->op ){ pExpr 87006 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_AGG_COLUMN ); pExpr 87007 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_COLUMN ); pExpr 87014 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_TokenOnly|EP_Reduced) ); pExpr 87015 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->iTable==pItem->iCursor ){ pExpr 87025 ext/sqlite3/libsqlite/sqlite3.c if( pCol->iTable==pExpr->iTable && pExpr 87026 ext/sqlite3/libsqlite/sqlite3.c pCol->iColumn==pExpr->iColumn ){ pExpr 87034 ext/sqlite3/libsqlite/sqlite3.c pCol->pTab = pExpr->pTab; pExpr 87035 ext/sqlite3/libsqlite/sqlite3.c pCol->iTable = pExpr->iTable; pExpr 87036 ext/sqlite3/libsqlite/sqlite3.c pCol->iColumn = pExpr->iColumn; pExpr 87039 ext/sqlite3/libsqlite/sqlite3.c pCol->pExpr = pExpr; pExpr 87046 ext/sqlite3/libsqlite/sqlite3.c Expr *pE = pTerm->pExpr; pExpr 87047 ext/sqlite3/libsqlite/sqlite3.c if( pE->op==TK_COLUMN && pE->iTable==pExpr->iTable && pExpr 87048 ext/sqlite3/libsqlite/sqlite3.c pE->iColumn==pExpr->iColumn ){ pExpr 87063 ext/sqlite3/libsqlite/sqlite3.c ExprSetVVAProperty(pExpr, EP_NoReduce); pExpr 87064 ext/sqlite3/libsqlite/sqlite3.c pExpr->pAggInfo = pAggInfo; pExpr 87065 ext/sqlite3/libsqlite/sqlite3.c pExpr->op = TK_AGG_COLUMN; pExpr 87066 ext/sqlite3/libsqlite/sqlite3.c pExpr->iAgg = (i16)k; pExpr 87075 ext/sqlite3/libsqlite/sqlite3.c && pWalker->walkerDepth==pExpr->op2 pExpr 87082 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3ExprCompare(pItem->pExpr, pExpr, -1)==0 ){ pExpr 87092 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); pExpr 87094 ext/sqlite3/libsqlite/sqlite3.c pItem->pExpr = pExpr; pExpr 87096 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_IntValue) ); pExpr 87098 ext/sqlite3/libsqlite/sqlite3.c pExpr->u.zToken, sqlite3Strlen30(pExpr->u.zToken), pExpr 87099 ext/sqlite3/libsqlite/sqlite3.c pExpr->x.pList ? pExpr->x.pList->nExpr : 0, enc, 0); pExpr 87100 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->flags & EP_Distinct ){ pExpr 87109 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_TokenOnly|EP_Reduced) ); pExpr 87110 ext/sqlite3/libsqlite/sqlite3.c ExprSetVVAProperty(pExpr, EP_NoReduce); pExpr 87111 ext/sqlite3/libsqlite/sqlite3.c pExpr->iAgg = (i16)i; pExpr 87112 ext/sqlite3/libsqlite/sqlite3.c pExpr->pAggInfo = pAggInfo; pExpr 87136 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext *pNC, Expr *pExpr){ pExpr 87143 ext/sqlite3/libsqlite/sqlite3.c sqlite3WalkExpr(&w, pExpr); pExpr 87157 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprAnalyzeAggregates(pNC, pItem->pExpr); pExpr 89990 ext/sqlite3/libsqlite/sqlite3.c static int resolveAttachExpr(NameContext *pName, Expr *pExpr) pExpr 89993 ext/sqlite3/libsqlite/sqlite3.c if( pExpr ){ pExpr 89994 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op!=TK_ID ){ pExpr 89995 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3ResolveExprNames(pName, pExpr); pExpr 89997 ext/sqlite3/libsqlite/sqlite3.c pExpr->op = TK_STRING; pExpr 90480 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr /* The expression to be fixed to one database */ pExpr 90482 ext/sqlite3/libsqlite/sqlite3.c while( pExpr ){ pExpr 90483 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op==TK_VARIABLE ){ pExpr 90485 ext/sqlite3/libsqlite/sqlite3.c pExpr->op = TK_NULL; pExpr 90491 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_TokenOnly) ) break; pExpr 90492 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_xIsSelect) ){ pExpr 90493 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3FixSelect(pFix, pExpr->x.pSelect) ) return 1; pExpr 90495 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3FixExprList(pFix, pExpr->x.pList) ) return 1; pExpr 90497 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3FixExpr(pFix, pExpr->pRight) ){ pExpr 90500 ext/sqlite3/libsqlite/sqlite3.c pExpr = pExpr->pLeft; pExpr 90512 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3FixExpr(pFix, pItem->pExpr) ){ pExpr 90684 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* The expression to check authorization on */ pExpr 90703 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op==TK_COLUMN || pExpr->op==TK_TRIGGER ); pExpr 90704 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op==TK_TRIGGER ){ pExpr 90709 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->iTable==pTabList->a[iSrc].iCursor ){ pExpr 90715 ext/sqlite3/libsqlite/sqlite3.c iCol = pExpr->iColumn; pExpr 90729 ext/sqlite3/libsqlite/sqlite3.c pExpr->op = TK_NULL; pExpr 91022 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pEL->a[i].pExpr, pEL->a[i].u.iConstExprReg); pExpr 92045 ext/sqlite3/libsqlite/sqlite3.c if( !sqlite3ExprIsConstantOrFunction(pSpan->pExpr, db->init.busy) ){ pExpr 92054 ext/sqlite3/libsqlite/sqlite3.c pCol->pDflt = sqlite3ExprDup(db, pSpan->pExpr, EXPRDUP_REDUCE); pExpr 92060 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDelete(db, pSpan->pExpr); pExpr 93825 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pList->a[i].pExpr; pExpr 93826 ext/sqlite3/libsqlite/sqlite3.c if( pExpr ){ pExpr 93827 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op==TK_COLLATE ); pExpr 93828 ext/sqlite3/libsqlite/sqlite3.c nExtra += (1 + sqlite3Strlen30(pExpr->u.zToken)); pExpr 93894 ext/sqlite3/libsqlite/sqlite3.c if( pListItem->pExpr ){ pExpr 93896 ext/sqlite3/libsqlite/sqlite3.c assert( pListItem->pExpr->op==TK_COLLATE ); pExpr 93897 ext/sqlite3/libsqlite/sqlite3.c zColl = pListItem->pExpr->u.zToken; pExpr 98084 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocase, char *aWc){ pExpr 98086 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op!=TK_FUNCTION pExpr 98087 ext/sqlite3/libsqlite/sqlite3.c || !pExpr->x.pList pExpr 98088 ext/sqlite3/libsqlite/sqlite3.c || pExpr->x.pList->nExpr!=2 pExpr 98092 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); pExpr 98093 ext/sqlite3/libsqlite/sqlite3.c pDef = sqlite3FindFunction(db, pExpr->u.zToken, pExpr 98094 ext/sqlite3/libsqlite/sqlite3.c sqlite3Strlen30(pExpr->u.zToken), pExpr 98691 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr; pExpr 98696 ext/sqlite3/libsqlite/sqlite3.c pExpr = sqlite3Expr(db, TK_REGISTER, 0); pExpr 98697 ext/sqlite3/libsqlite/sqlite3.c if( pExpr ){ pExpr 98700 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable = regBase + iCol + 1; pExpr 98701 ext/sqlite3/libsqlite/sqlite3.c pExpr->affinity = pCol->affinity; pExpr 98704 ext/sqlite3/libsqlite/sqlite3.c pExpr = sqlite3ExprAddCollateString(pParse, pExpr, zColl); pExpr 98706 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable = regBase; pExpr 98707 ext/sqlite3/libsqlite/sqlite3.c pExpr->affinity = SQLITE_AFF_INTEGER; pExpr 98710 ext/sqlite3/libsqlite/sqlite3.c return pExpr; pExpr 98723 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = sqlite3Expr(db, TK_COLUMN, 0); pExpr 98724 ext/sqlite3/libsqlite/sqlite3.c if( pExpr ){ pExpr 98725 ext/sqlite3/libsqlite/sqlite3.c pExpr->pTab = pTab; pExpr 98726 ext/sqlite3/libsqlite/sqlite3.c pExpr->iTable = iCursor; pExpr 98727 ext/sqlite3/libsqlite/sqlite3.c pExpr->iColumn = iCol; pExpr 98729 ext/sqlite3/libsqlite/sqlite3.c return pExpr; pExpr 100340 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3ResolveExprNames(&sNC, pList->a[i].pExpr) ){ pExpr 100441 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regCols); pExpr 100470 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCodeAndCache(pParse, pList->a[j].pExpr, regCols+i+1); pExpr 100505 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid); pExpr 100575 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pList->a[j].pExpr, iRegStore); pExpr 100868 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfTrue(pParse, pCheck->a[i].pExpr, allOk, SQLITE_JUMPIFNULL); pExpr 101472 ext/sqlite3/libsqlite/sqlite3.c assert( pEList->a[0].pExpr ); pExpr 101473 ext/sqlite3/libsqlite/sqlite3.c if( pEList->a[0].pExpr->op!=TK_ALL ){ pExpr 107216 ext/sqlite3/libsqlite/sqlite3.c CollSeq *pColl = sqlite3ExprCollSeq(pParse, pEList->a[i].pExpr); pExpr 107316 ext/sqlite3/libsqlite/sqlite3.c sqlite3CompareAffinity(pEList->a[0].pExpr, pDest->affSdst); pExpr 107527 ext/sqlite3/libsqlite/sqlite3.c pColl = sqlite3ExprCollSeq(pParse, pItem->pExpr); pExpr 107778 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, pExpr 107791 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, pExpr 107799 ext/sqlite3/libsqlite/sqlite3.c if( NEVER(pExpr==0) || pNC->pSrcList==0 ) return 0; pExpr 107800 ext/sqlite3/libsqlite/sqlite3.c switch( pExpr->op ){ pExpr 107809 ext/sqlite3/libsqlite/sqlite3.c int iCol = pExpr->iColumn; /* Index of column in pTab */ pExpr 107810 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_AGG_COLUMN ); pExpr 107811 ext/sqlite3/libsqlite/sqlite3.c testcase( pExpr->op==TK_COLUMN ); pExpr 107814 ext/sqlite3/libsqlite/sqlite3.c for(j=0;j<pTabList->nSrc && pTabList->a[j].iCursor!=pExpr->iTable;j++); pExpr 107844 ext/sqlite3/libsqlite/sqlite3.c assert( pTab && pExpr->pTab==pTab ); pExpr 107856 ext/sqlite3/libsqlite/sqlite3.c Expr *p = pS->pEList->a[iCol].pExpr; pExpr 107899 ext/sqlite3/libsqlite/sqlite3.c Select *pS = pExpr->x.pSelect; pExpr 107900 ext/sqlite3/libsqlite/sqlite3.c Expr *p = pS->pEList->a[0].pExpr; pExpr 107901 ext/sqlite3/libsqlite/sqlite3.c assert( ExprHasProperty(pExpr, EP_xIsSelect) ); pExpr 107939 ext/sqlite3/libsqlite/sqlite3.c Expr *p = pEList->a[i].pExpr; pExpr 107991 ext/sqlite3/libsqlite/sqlite3.c p = pEList->a[i].pExpr; pExpr 108073 ext/sqlite3/libsqlite/sqlite3.c p = sqlite3ExprSkipCollate(pEList->a[i].pExpr); pExpr 108169 ext/sqlite3/libsqlite/sqlite3.c p = a[i].pExpr; pExpr 108332 ext/sqlite3/libsqlite/sqlite3.c pRet = sqlite3ExprCollSeq(pParse, p->pEList->a[iCol].pExpr); pExpr 108355 ext/sqlite3/libsqlite/sqlite3.c Expr *pTerm = pItem->pExpr; pExpr 108363 ext/sqlite3/libsqlite/sqlite3.c pOrderBy->a[i].pExpr = pExpr 109075 ext/sqlite3/libsqlite/sqlite3.c sqlite3CompareAffinity(p->pEList->a[0].pExpr, pDest->affSdst); pExpr 109567 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* Expr in which substitution occurs */ pExpr 109571 ext/sqlite3/libsqlite/sqlite3.c if( pExpr==0 ) return 0; pExpr 109572 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op==TK_COLUMN && pExpr->iTable==iTable ){ pExpr 109573 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->iColumn<0 ){ pExpr 109574 ext/sqlite3/libsqlite/sqlite3.c pExpr->op = TK_NULL; pExpr 109577 ext/sqlite3/libsqlite/sqlite3.c assert( pEList!=0 && pExpr->iColumn<pEList->nExpr ); pExpr 109578 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->pLeft==0 && pExpr->pRight==0 ); pExpr 109579 ext/sqlite3/libsqlite/sqlite3.c pNew = sqlite3ExprDup(db, pEList->a[pExpr->iColumn].pExpr, 0); pExpr 109580 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDelete(db, pExpr); pExpr 109581 ext/sqlite3/libsqlite/sqlite3.c pExpr = pNew; pExpr 109584 ext/sqlite3/libsqlite/sqlite3.c pExpr->pLeft = substExpr(db, pExpr->pLeft, iTable, pEList); pExpr 109585 ext/sqlite3/libsqlite/sqlite3.c pExpr->pRight = substExpr(db, pExpr->pRight, iTable, pEList); pExpr 109586 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_xIsSelect) ){ pExpr 109587 ext/sqlite3/libsqlite/sqlite3.c substSelect(db, pExpr->x.pSelect, iTable, pEList); pExpr 109589 ext/sqlite3/libsqlite/sqlite3.c substExprList(db, pExpr->x.pList, iTable, pEList); pExpr 109592 ext/sqlite3/libsqlite/sqlite3.c return pExpr; pExpr 109603 ext/sqlite3/libsqlite/sqlite3.c pList->a[i].pExpr = substExpr(db, pList->a[i].pExpr, iTable, pEList); pExpr 110215 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pAggInfo->aFunc[0].pExpr; /* Aggregate function */ pExpr 110216 ext/sqlite3/libsqlite/sqlite3.c ExprList *pEList = pExpr->x.pList; /* Arguments to agg function */ pExpr 110218 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op==TK_AGG_FUNCTION ); pExpr 110219 ext/sqlite3/libsqlite/sqlite3.c if( pEList && pEList->nExpr==1 && pEList->a[0].pExpr->op==TK_AGG_COLUMN ){ pExpr 110220 ext/sqlite3/libsqlite/sqlite3.c const char *zFunc = pExpr->u.zToken; pExpr 110248 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr; pExpr 110258 ext/sqlite3/libsqlite/sqlite3.c pExpr = p->pEList->a[0].pExpr; pExpr 110259 ext/sqlite3/libsqlite/sqlite3.c assert( pTab && !pTab->pSelect && pExpr ); pExpr 110262 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op!=TK_AGG_FUNCTION ) return 0; pExpr 110265 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->flags&EP_Distinct ) return 0; pExpr 110332 ext/sqlite3/libsqlite/sqlite3.c if( a[i].pExpr->flags & EP_Collate ) break; pExpr 110589 ext/sqlite3/libsqlite/sqlite3.c Expr *pE, *pRight, *pExpr; pExpr 110695 ext/sqlite3/libsqlite/sqlite3.c pE = pEList->a[k].pExpr; pExpr 110721 ext/sqlite3/libsqlite/sqlite3.c pE = a[k].pExpr; pExpr 110727 ext/sqlite3/libsqlite/sqlite3.c pNew = sqlite3ExprListAppend(pParse, pNew, a[k].pExpr); pExpr 110734 ext/sqlite3/libsqlite/sqlite3.c a[k].pExpr = 0; pExpr 110806 ext/sqlite3/libsqlite/sqlite3.c pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); pExpr 110809 ext/sqlite3/libsqlite/sqlite3.c pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pExpr, 0); pExpr 110816 ext/sqlite3/libsqlite/sqlite3.c pExpr = pRight; pExpr 110818 ext/sqlite3/libsqlite/sqlite3.c pNew = sqlite3ExprListAppend(pParse, pNew, pExpr); pExpr 111020 ext/sqlite3/libsqlite/sqlite3.c Expr *pE = pFunc->pExpr; pExpr 111044 ext/sqlite3/libsqlite/sqlite3.c ExprList *pList = pF->pExpr->x.pList; pExpr 111045 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pF->pExpr, EP_xIsSelect) ); pExpr 111068 ext/sqlite3/libsqlite/sqlite3.c ExprList *pList = pF->pExpr->x.pList; pExpr 111069 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pF->pExpr, EP_xIsSelect) ); pExpr 111090 ext/sqlite3/libsqlite/sqlite3.c pColl = sqlite3ExprCollSeq(pParse, pItem->pExpr); pExpr 111124 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pC->pExpr, pC->iMem); pExpr 111564 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(sAggInfo.aFunc[i].pExpr, EP_xIsSelect) ); pExpr 111566 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprAnalyzeAggList(&sNC, sAggInfo.aFunc[i].pExpr->x.pList); pExpr 111719 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pGroupBy->a[j].pExpr, iBMem+j); pExpr 111905 ext/sqlite3/libsqlite/sqlite3.c pMinMax->a[0].pExpr->op = TK_COLUMN; pExpr 113619 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3ResolveExprNames(&sNC, pChanges->a[i].pExpr) ){ pExpr 113626 ext/sqlite3/libsqlite/sqlite3.c pRowidExpr = pChanges->a[i].pExpr; pExpr 113638 ext/sqlite3/libsqlite/sqlite3.c pRowidExpr = pChanges->a[i].pExpr; pExpr 113911 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pChanges->a[j].pExpr, regNew+i); pExpr 114111 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr; /* Temporary expression */ pExpr 114131 ext/sqlite3/libsqlite/sqlite3.c pExpr = sqlite3ExprDup(db, pChanges->a[aXRef[i]].pExpr, 0); pExpr 114133 ext/sqlite3/libsqlite/sqlite3.c pExpr = sqlite3Expr(db, TK_ID, pTab->aCol[i].zName); pExpr 114135 ext/sqlite3/libsqlite/sqlite3.c pEList = sqlite3ExprListAppend(pParse, pEList, pExpr); pExpr 115561 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr /* First argument to the function */ pExpr 115575 ext/sqlite3/libsqlite/sqlite3.c if( NEVER(pExpr==0) ) return pDef; pExpr 115576 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op!=TK_COLUMN ) return pDef; pExpr 115577 ext/sqlite3/libsqlite/sqlite3.c pTab = pExpr->pTab; pExpr 115969 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr; /* Pointer to the subexpression that is this term */ pExpr 116347 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDelete(db, a->pExpr); pExpr 116407 ext/sqlite3/libsqlite/sqlite3.c pTerm->pExpr = sqlite3ExprSkipCollate(p); pExpr 116431 ext/sqlite3/libsqlite/sqlite3.c static void whereSplit(WhereClause *pWC, Expr *pExpr, u8 op){ pExpr 116432 ext/sqlite3/libsqlite/sqlite3.c Expr *pE2 = sqlite3ExprSkipCollate(pExpr); pExpr 116436 ext/sqlite3/libsqlite/sqlite3.c whereClauseInsert(pWC, pExpr, 0); pExpr 116504 ext/sqlite3/libsqlite/sqlite3.c mask |= exprTableUsage(pMaskSet, pList->a[i].pExpr); pExpr 116555 ext/sqlite3/libsqlite/sqlite3.c static void exprCommute(Parse *pParse, Expr *pExpr){ pExpr 116556 ext/sqlite3/libsqlite/sqlite3.c u16 expRight = (pExpr->pRight->flags & EP_Collate); pExpr 116557 ext/sqlite3/libsqlite/sqlite3.c u16 expLeft = (pExpr->pLeft->flags & EP_Collate); pExpr 116558 ext/sqlite3/libsqlite/sqlite3.c assert( allowedOp(pExpr->op) && pExpr->op!=TK_IN ); pExpr 116564 ext/sqlite3/libsqlite/sqlite3.c pExpr->pRight->flags &= ~EP_Collate; pExpr 116565 ext/sqlite3/libsqlite/sqlite3.c }else if( sqlite3ExprCollSeq(pParse, pExpr->pLeft)!=0 ){ pExpr 116569 ext/sqlite3/libsqlite/sqlite3.c pExpr->pLeft->flags |= EP_Collate; pExpr 116572 ext/sqlite3/libsqlite/sqlite3.c SWAP(Expr*,pExpr->pRight,pExpr->pLeft); pExpr 116573 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op>=TK_GT ){ pExpr 116578 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op>=TK_GT && pExpr->op<=TK_GE ); pExpr 116579 ext/sqlite3/libsqlite/sqlite3.c pExpr->op = ((pExpr->op-TK_GT)^2)+TK_GT; pExpr 116627 ext/sqlite3/libsqlite/sqlite3.c && (pScan->iEquiv<=2 || !ExprHasProperty(pTerm->pExpr, EP_FromJoin)) pExpr 116633 ext/sqlite3/libsqlite/sqlite3.c pX = sqlite3ExprSkipCollate(pTerm->pExpr->pRight); pExpr 116652 ext/sqlite3/libsqlite/sqlite3.c pX = pTerm->pExpr; pExpr 116665 ext/sqlite3/libsqlite/sqlite3.c && (pX = pTerm->pExpr->pRight)->op==TK_COLUMN pExpr 116813 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* Test this expression */ pExpr 116828 ext/sqlite3/libsqlite/sqlite3.c if( !sqlite3IsLikeFunction(db, pExpr, pnoCase, wc) ){ pExpr 116834 ext/sqlite3/libsqlite/sqlite3.c pList = pExpr->x.pList; pExpr 116835 ext/sqlite3/libsqlite/sqlite3.c pLeft = pList->a[1].pExpr; pExpr 116846 ext/sqlite3/libsqlite/sqlite3.c pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr); pExpr 116907 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr /* Test this expression */ pExpr 116911 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op!=TK_FUNCTION ){ pExpr 116914 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3StrICmp(pExpr->u.zToken,"match")!=0 ){ pExpr 116917 ext/sqlite3/libsqlite/sqlite3.c pList = pExpr->x.pList; pExpr 116921 ext/sqlite3/libsqlite/sqlite3.c if( pList->a[1].pExpr->op != TK_COLUMN ){ pExpr 116999 ext/sqlite3/libsqlite/sqlite3.c assert( pOne->pExpr->pLeft!=0 && pOne->pExpr->pRight!=0 ); pExpr 117000 ext/sqlite3/libsqlite/sqlite3.c assert( pTwo->pExpr->pLeft!=0 && pTwo->pExpr->pRight!=0 ); pExpr 117001 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3ExprCompare(pOne->pExpr->pLeft, pTwo->pExpr->pLeft, -1) ) return; pExpr 117002 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3ExprCompare(pOne->pExpr->pRight, pTwo->pExpr->pRight, -1) )return; pExpr 117013 ext/sqlite3/libsqlite/sqlite3.c pNew = sqlite3ExprDup(db, pOne->pExpr, 0); pExpr 117118 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pTerm->pExpr; /* The expression of the term */ pExpr 117132 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op==TK_OR ); pExpr 117138 ext/sqlite3/libsqlite/sqlite3.c whereSplit(pOrWc, pExpr, TK_OR); pExpr 117164 ext/sqlite3/libsqlite/sqlite3.c whereSplit(pAndWC, pOrTerm->pExpr, TK_AND); pExpr 117170 ext/sqlite3/libsqlite/sqlite3.c assert( pAndTerm->pExpr ); pExpr 117171 ext/sqlite3/libsqlite/sqlite3.c if( allowedOp(pAndTerm->pExpr->op) ){ pExpr 117301 ext/sqlite3/libsqlite/sqlite3.c affRight = sqlite3ExprAffinity(pOrTerm->pExpr->pRight); pExpr 117302 ext/sqlite3/libsqlite/sqlite3.c affLeft = sqlite3ExprAffinity(pOrTerm->pExpr->pLeft); pExpr 117327 ext/sqlite3/libsqlite/sqlite3.c pDup = sqlite3ExprDup(db, pOrTerm->pExpr->pRight, 0); pExpr 117329 ext/sqlite3/libsqlite/sqlite3.c pLeft = pOrTerm->pExpr->pLeft; pExpr 117336 ext/sqlite3/libsqlite/sqlite3.c transferJoinMarkings(pNew, pExpr); pExpr 117379 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr; /* The expression to be analyzed */ pExpr 117395 ext/sqlite3/libsqlite/sqlite3.c pExpr = pTerm->pExpr; pExpr 117396 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->op!=TK_AS && pExpr->op!=TK_COLLATE ); pExpr 117397 ext/sqlite3/libsqlite/sqlite3.c prereqLeft = exprTableUsage(pMaskSet, pExpr->pLeft); pExpr 117398 ext/sqlite3/libsqlite/sqlite3.c op = pExpr->op; pExpr 117400 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->pRight==0 ); pExpr 117401 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_xIsSelect) ){ pExpr 117402 ext/sqlite3/libsqlite/sqlite3.c pTerm->prereqRight = exprSelectTableUsage(pMaskSet, pExpr->x.pSelect); pExpr 117404 ext/sqlite3/libsqlite/sqlite3.c pTerm->prereqRight = exprListTableUsage(pMaskSet, pExpr->x.pList); pExpr 117409 ext/sqlite3/libsqlite/sqlite3.c pTerm->prereqRight = exprTableUsage(pMaskSet, pExpr->pRight); pExpr 117411 ext/sqlite3/libsqlite/sqlite3.c prereqAll = exprTableUsage(pMaskSet, pExpr); pExpr 117412 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_FromJoin) ){ pExpr 117413 ext/sqlite3/libsqlite/sqlite3.c Bitmask x = getMask(pMaskSet, pExpr->iRightJoinTable); pExpr 117423 ext/sqlite3/libsqlite/sqlite3.c Expr *pLeft = sqlite3ExprSkipCollate(pExpr->pLeft); pExpr 117424 ext/sqlite3/libsqlite/sqlite3.c Expr *pRight = sqlite3ExprSkipCollate(pExpr->pRight); pExpr 117437 ext/sqlite3/libsqlite/sqlite3.c pDup = sqlite3ExprDup(db, pExpr, 0); pExpr 117448 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op==TK_EQ pExpr 117449 ext/sqlite3/libsqlite/sqlite3.c && !ExprHasProperty(pExpr, EP_FromJoin) pExpr 117456 ext/sqlite3/libsqlite/sqlite3.c pDup = pExpr; pExpr 117486 ext/sqlite3/libsqlite/sqlite3.c else if( pExpr->op==TK_BETWEEN && pWC->op==TK_AND ){ pExpr 117487 ext/sqlite3/libsqlite/sqlite3.c ExprList *pList = pExpr->x.pList; pExpr 117496 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDup(db, pExpr->pLeft, 0), pExpr 117497 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDup(db, pList->a[i].pExpr, 0), 0); pExpr 117498 ext/sqlite3/libsqlite/sqlite3.c transferJoinMarkings(pNewExpr, pExpr); pExpr 117512 ext/sqlite3/libsqlite/sqlite3.c else if( pExpr->op==TK_OR ){ pExpr 117534 ext/sqlite3/libsqlite/sqlite3.c && isLikeOrGlob(pParse, pExpr, &pStr1, &isComplete, &noCase) pExpr 117545 ext/sqlite3/libsqlite/sqlite3.c pLeft = pExpr->x.pList->a[1].pExpr; pExpr 117583 ext/sqlite3/libsqlite/sqlite3.c transferJoinMarkings(pNewExpr1, pExpr); pExpr 117591 ext/sqlite3/libsqlite/sqlite3.c transferJoinMarkings(pNewExpr2, pExpr); pExpr 117610 ext/sqlite3/libsqlite/sqlite3.c if( isMatchOfColumn(pExpr) ){ pExpr 117616 ext/sqlite3/libsqlite/sqlite3.c pRight = pExpr->x.pList->a[0].pExpr; pExpr 117617 ext/sqlite3/libsqlite/sqlite3.c pLeft = pExpr->x.pList->a[1].pExpr; pExpr 117650 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op==TK_NOTNULL pExpr 117651 ext/sqlite3/libsqlite/sqlite3.c && pExpr->pLeft->op==TK_COLUMN pExpr 117652 ext/sqlite3/libsqlite/sqlite3.c && pExpr->pLeft->iColumn>=0 pExpr 117656 ext/sqlite3/libsqlite/sqlite3.c Expr *pLeft = pExpr->pLeft; pExpr 117704 ext/sqlite3/libsqlite/sqlite3.c Expr *p = sqlite3ExprSkipCollate(pList->a[i].pExpr); pExpr 117709 ext/sqlite3/libsqlite/sqlite3.c CollSeq *pColl = sqlite3ExprCollSeq(pParse, pList->a[i].pExpr); pExpr 117749 ext/sqlite3/libsqlite/sqlite3.c Expr *p = sqlite3ExprSkipCollate(pDistinct->a[i].pExpr); pExpr 117856 ext/sqlite3/libsqlite/sqlite3.c if( !sqlite3IndexAffinityOk(pTerm->pExpr, aff) ) return 0; pExpr 117910 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pTerm->pExpr; pExpr 117911 ext/sqlite3/libsqlite/sqlite3.c assert( !ExprHasProperty(pExpr, EP_FromJoin) /* prereq always non-zero */ pExpr 117912 ext/sqlite3/libsqlite/sqlite3.c || pExpr->iRightJoinTable!=pSrc->iCursor /* for the right-hand */ pExpr 117916 ext/sqlite3/libsqlite/sqlite3.c && !ExprHasProperty(pExpr, EP_FromJoin) pExpr 117917 ext/sqlite3/libsqlite/sqlite3.c && sqlite3ExprIsTableConstant(pExpr, pSrc->iCursor) ){ pExpr 117919 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDup(pParse->db, pExpr, 0)); pExpr 117980 ext/sqlite3/libsqlite/sqlite3.c Expr *pX = pTerm->pExpr; pExpr 118087 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pOrderBy->a[i].pExpr; pExpr 118088 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op!=TK_COLUMN || pExpr->iTable!=pSrc->iCursor ) break; pExpr 118147 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pOrderBy->a[i].pExpr; pExpr 118148 ext/sqlite3/libsqlite/sqlite3.c pIdxOrderBy[i].iColumn = pExpr->iColumn; pExpr 118478 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3Stat4ValueFromExpr(pParse, pLower->pExpr->pRight, aff, &p1); pExpr 118482 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3Stat4ValueFromExpr(pParse, pUpper->pExpr->pRight, aff, &p2); pExpr 118645 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pLower->pExpr->pRight; pExpr 118646 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, aff, nEq, &bOk); pExpr 118660 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pUpper->pExpr->pRight; pExpr 118661 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, aff, nEq, &bOk); pExpr 118749 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr, /* Expression for VALUE in the x=VALUE constraint */ pExpr 118780 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, aff, nEq-1, &bOk); pExpr 118828 ext/sqlite3/libsqlite/sqlite3.c rc = whereEqualScanEst(pParse, pBuilder, pList->a[i].pExpr, &nEst); pExpr 118889 ext/sqlite3/libsqlite/sqlite3.c && (pLevel->iLeftJoin==0 || ExprHasProperty(pTerm->pExpr, EP_FromJoin)) pExpr 118964 ext/sqlite3/libsqlite/sqlite3.c Expr *pX = pTerm->pExpr; pExpr 119153 ext/sqlite3/libsqlite/sqlite3.c Expr *pRight = pTerm->pExpr->pRight; pExpr 119507 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprCode(pParse, pTerm->pExpr->pRight, iTarget); pExpr 119541 ext/sqlite3/libsqlite/sqlite3.c assert( pTerm->pExpr!=0 ); pExpr 119595 ext/sqlite3/libsqlite/sqlite3.c pX = pStart->pExpr; pExpr 119615 ext/sqlite3/libsqlite/sqlite3.c pX = pEnd->pExpr; pExpr 119800 ext/sqlite3/libsqlite/sqlite3.c Expr *pRight = pRangeStart->pExpr->pRight; pExpr 119845 ext/sqlite3/libsqlite/sqlite3.c Expr *pRight = pRangeEnd->pExpr->pRight; pExpr 120056 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pWC->a[iTerm].pExpr; pExpr 120058 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_FromJoin) ) continue; pExpr 120062 ext/sqlite3/libsqlite/sqlite3.c pExpr = sqlite3ExprDup(db, pExpr, 0); pExpr 120063 ext/sqlite3/libsqlite/sqlite3.c pAndExpr = sqlite3ExprAnd(db, pAndExpr, pExpr); pExpr 120082 ext/sqlite3/libsqlite/sqlite3.c Expr *pOrExpr = pOrTerm->pExpr; /* Current OR clause term */ pExpr 120249 ext/sqlite3/libsqlite/sqlite3.c pE = pTerm->pExpr; pExpr 120279 ext/sqlite3/libsqlite/sqlite3.c pE = pTerm->pExpr; pExpr 120290 ext/sqlite3/libsqlite/sqlite3.c *pEAlt = *pAlt->pExpr; pExpr 120313 ext/sqlite3/libsqlite/sqlite3.c assert( pTerm->pExpr ); pExpr 120314 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfFalse(pParse, pTerm->pExpr, addrCont, SQLITE_JUMPIFNULL); pExpr 120334 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pTerm->pExpr, EP_FromJoin) ) zType[2] = 'L'; pExpr 120338 ext/sqlite3/libsqlite/sqlite3.c sqlite3TreeViewExpr(0, pTerm->pExpr, 0); pExpr 120828 ext/sqlite3/libsqlite/sqlite3.c Expr *pRight = pTerm->pExpr->pRight; pExpr 120950 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pTerm->pExpr; pExpr 120952 ext/sqlite3/libsqlite/sqlite3.c if( ExprHasProperty(pExpr, EP_xIsSelect) ){ pExpr 120955 ext/sqlite3/libsqlite/sqlite3.c }else if( ALWAYS(pExpr->x.pList && pExpr->x.pList->nExpr) ){ pExpr 120957 ext/sqlite3/libsqlite/sqlite3.c nIn = sqlite3LogEst(pExpr->x.pList->nExpr); pExpr 121026 ext/sqlite3/libsqlite/sqlite3.c && ((eOp & WO_IN)==0 || !ExprHasProperty(pTerm->pExpr, EP_xIsSelect)) pExpr 121028 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pTerm->pExpr; pExpr 121032 ext/sqlite3/libsqlite/sqlite3.c rc = whereEqualScanEst(pParse, pBuilder, pExpr->pRight, &nOut); pExpr 121034 ext/sqlite3/libsqlite/sqlite3.c rc = whereInScanEst(pParse, pBuilder, pExpr->x.pList, &nOut); pExpr 121154 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = sqlite3ExprSkipCollate(pOB->a[ii].pExpr); pExpr 121155 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->op!=TK_COLUMN ) return 0; pExpr 121156 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->iTable==iCursor ){ pExpr 121157 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->iColumn<0 ) return 1; pExpr 121159 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->iColumn==pIndex->aiColumn[jj] ) return 1; pExpr 121191 ext/sqlite3/libsqlite/sqlite3.c Expr *pExpr = pTerm->pExpr; pExpr 121192 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3ExprImpliesExpr(pExpr, pWhere, iTab) pExpr 121193 ext/sqlite3/libsqlite/sqlite3.c && (!ExprHasProperty(pExpr, EP_FromJoin) || pExpr->iRightJoinTable==iTab) pExpr 121863 ext/sqlite3/libsqlite/sqlite3.c pOBExpr = sqlite3ExprSkipCollate(pOrderBy->a[i].pExpr); pExpr 121871 ext/sqlite3/libsqlite/sqlite3.c pColl = sqlite3ExprCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr); pExpr 121874 ext/sqlite3/libsqlite/sqlite3.c pColl = sqlite3ExprCollSeq(pWInfo->pParse, pTerm->pExpr); pExpr 121947 ext/sqlite3/libsqlite/sqlite3.c pOBExpr = sqlite3ExprSkipCollate(pOrderBy->a[i].pExpr); pExpr 121955 ext/sqlite3/libsqlite/sqlite3.c pColl = sqlite3ExprCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr); pExpr 122001 ext/sqlite3/libsqlite/sqlite3.c p = pOrderBy->a[i].pExpr; pExpr 122718 ext/sqlite3/libsqlite/sqlite3.c if( nTabList==0 || sqlite3ExprIsConstantNotJoin(sWLB.pWC->a[ii].pExpr) ){ pExpr 122719 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprIfFalse(pParse, sWLB.pWC->a[ii].pExpr, pWInfo->iBreak, pExpr 122874 ext/sqlite3/libsqlite/sqlite3.c && !ExprHasProperty(pTerm->pExpr, EP_FromJoin) pExpr 123329 ext/sqlite3/libsqlite/sqlite3.c pOut->pExpr = sqlite3PExpr(pParse, op, 0, 0, pValue); pExpr 123344 ext/sqlite3/libsqlite/sqlite3.c pOut->pExpr = sqlite3PExpr(pParse, op, pLeft->pExpr, pRight->pExpr, 0); pExpr 123358 ext/sqlite3/libsqlite/sqlite3.c pOut->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0); pExpr 123383 ext/sqlite3/libsqlite/sqlite3.c pOut->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0); pExpr 124644 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDelete(pParse->db, (yypminor->yy346).pExpr); pExpr 125497 ext/sqlite3/libsqlite/sqlite3.c v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy346.pExpr, 0, 0); pExpr 125520 ext/sqlite3/libsqlite/sqlite3.c {sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy346.pExpr);} pExpr 125584 ext/sqlite3/libsqlite/sqlite3.c {sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy346.pExpr);} pExpr 125739 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy14, yymsp[-1].minor.yy346.pExpr); pExpr 125838 ext/sqlite3/libsqlite/sqlite3.c {yygotominor.yy132 = yymsp[0].minor.yy346.pExpr;} pExpr 125865 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy14,yymsp[-1].minor.yy346.pExpr); pExpr 125871 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy14 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy346.pExpr); pExpr 125886 ext/sqlite3/libsqlite/sqlite3.c {yygotominor.yy476.pLimit = yymsp[0].minor.yy346.pExpr; yygotominor.yy476.pOffset = 0;} pExpr 125889 ext/sqlite3/libsqlite/sqlite3.c {yygotominor.yy476.pLimit = yymsp[-2].minor.yy346.pExpr; yygotominor.yy476.pOffset = yymsp[0].minor.yy346.pExpr;} pExpr 125892 ext/sqlite3/libsqlite/sqlite3.c {yygotominor.yy476.pOffset = yymsp[-2].minor.yy346.pExpr; yygotominor.yy476.pLimit = yymsp[0].minor.yy346.pExpr;} pExpr 125911 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy14, yymsp[0].minor.yy346.pExpr); pExpr 125917 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy14 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy346.pExpr); pExpr 125949 ext/sqlite3/libsqlite/sqlite3.c {yygotominor.yy346.pExpr = yymsp[-1].minor.yy346.pExpr; spanSet(&yygotominor.yy346,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);} pExpr 125964 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); pExpr 125974 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); pExpr 125986 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = 0; pExpr 125988 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &yymsp[0].minor.yy0); pExpr 125989 ext/sqlite3/libsqlite/sqlite3.c if( yygotominor.yy346.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yygotominor.yy346.pExpr->iTable); pExpr 125993 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprAssignVarNumber(pParse, yygotominor.yy346.pExpr); pExpr 126000 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy346.pExpr, &yymsp[0].minor.yy0, 1); pExpr 126007 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy346.pExpr, 0, &yymsp[-1].minor.yy0); pExpr 126016 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy14, &yymsp[-4].minor.yy0); pExpr 126018 ext/sqlite3/libsqlite/sqlite3.c if( yymsp[-2].minor.yy381 && yygotominor.yy346.pExpr ){ pExpr 126019 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr->flags |= EP_Distinct; pExpr 126025 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); pExpr 126031 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0); pExpr 126054 ext/sqlite3/libsqlite/sqlite3.c pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy346.pExpr); pExpr 126055 ext/sqlite3/libsqlite/sqlite3.c pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy346.pExpr); pExpr 126056 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy96.eOperator); pExpr 126057 ext/sqlite3/libsqlite/sqlite3.c if( yymsp[-1].minor.yy96.bNot ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); pExpr 126060 ext/sqlite3/libsqlite/sqlite3.c if( yygotominor.yy346.pExpr ) yygotominor.yy346.pExpr->flags |= EP_InfixFunc; pExpr 126066 ext/sqlite3/libsqlite/sqlite3.c pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr); pExpr 126067 ext/sqlite3/libsqlite/sqlite3.c pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy346.pExpr); pExpr 126068 ext/sqlite3/libsqlite/sqlite3.c pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr); pExpr 126069 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy96.eOperator); pExpr 126070 ext/sqlite3/libsqlite/sqlite3.c if( yymsp[-3].minor.yy96.bNot ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); pExpr 126073 ext/sqlite3/libsqlite/sqlite3.c if( yygotominor.yy346.pExpr ) yygotominor.yy346.pExpr->flags |= EP_InfixFunc; pExpr 126085 ext/sqlite3/libsqlite/sqlite3.c binaryToUnaryIfNull(pParse, yymsp[0].minor.yy346.pExpr, yygotominor.yy346.pExpr, TK_ISNULL); pExpr 126091 ext/sqlite3/libsqlite/sqlite3.c binaryToUnaryIfNull(pParse, yymsp[0].minor.yy346.pExpr, yygotominor.yy346.pExpr, TK_NOTNULL); pExpr 126106 ext/sqlite3/libsqlite/sqlite3.c ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr); pExpr 126107 ext/sqlite3/libsqlite/sqlite3.c pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr); pExpr 126108 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy346.pExpr, 0, 0); pExpr 126109 ext/sqlite3/libsqlite/sqlite3.c if( yygotominor.yy346.pExpr ){ pExpr 126110 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr->x.pList = pList; pExpr 126114 ext/sqlite3/libsqlite/sqlite3.c if( yymsp[-3].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); pExpr 126130 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[yymsp[-3].minor.yy328]); pExpr 126131 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy346.pExpr); pExpr 126149 ext/sqlite3/libsqlite/sqlite3.c Expr *pRHS = yymsp[-1].minor.yy14->a[0].pExpr; pExpr 126150 ext/sqlite3/libsqlite/sqlite3.c yymsp[-1].minor.yy14->a[0].pExpr = 0; pExpr 126158 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, yymsp[-3].minor.yy328 ? TK_NE : TK_EQ, yymsp[-4].minor.yy346.pExpr, pRHS, 0); pExpr 126160 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy346.pExpr, 0, 0); pExpr 126161 ext/sqlite3/libsqlite/sqlite3.c if( yygotominor.yy346.pExpr ){ pExpr 126162 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr->x.pList = yymsp[-1].minor.yy14; pExpr 126163 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprSetHeightAndFlags(pParse, yygotominor.yy346.pExpr); pExpr 126167 ext/sqlite3/libsqlite/sqlite3.c if( yymsp[-3].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); pExpr 126175 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); pExpr 126176 ext/sqlite3/libsqlite/sqlite3.c if( yygotominor.yy346.pExpr ){ pExpr 126177 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr->x.pSelect = yymsp[-1].minor.yy3; pExpr 126178 ext/sqlite3/libsqlite/sqlite3.c ExprSetProperty(yygotominor.yy346.pExpr, EP_xIsSelect|EP_Subquery); pExpr 126179 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprSetHeightAndFlags(pParse, yygotominor.yy346.pExpr); pExpr 126189 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy346.pExpr, 0, 0); pExpr 126190 ext/sqlite3/libsqlite/sqlite3.c if( yygotominor.yy346.pExpr ){ pExpr 126191 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr->x.pSelect = yymsp[-1].minor.yy3; pExpr 126192 ext/sqlite3/libsqlite/sqlite3.c ExprSetProperty(yygotominor.yy346.pExpr, EP_xIsSelect|EP_Subquery); pExpr 126193 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprSetHeightAndFlags(pParse, yygotominor.yy346.pExpr); pExpr 126197 ext/sqlite3/libsqlite/sqlite3.c if( yymsp[-3].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); pExpr 126205 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy346.pExpr, 0, 0); pExpr 126206 ext/sqlite3/libsqlite/sqlite3.c if( yygotominor.yy346.pExpr ){ pExpr 126207 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); pExpr 126208 ext/sqlite3/libsqlite/sqlite3.c ExprSetProperty(yygotominor.yy346.pExpr, EP_xIsSelect|EP_Subquery); pExpr 126209 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprSetHeightAndFlags(pParse, yygotominor.yy346.pExpr); pExpr 126213 ext/sqlite3/libsqlite/sqlite3.c if( yymsp[-2].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); pExpr 126220 ext/sqlite3/libsqlite/sqlite3.c Expr *p = yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); pExpr 126234 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy132, 0, 0); pExpr 126235 ext/sqlite3/libsqlite/sqlite3.c if( yygotominor.yy346.pExpr ){ pExpr 126236 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr->x.pList = yymsp[-1].minor.yy132 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy14,yymsp[-1].minor.yy132) : yymsp[-2].minor.yy14; pExpr 126237 ext/sqlite3/libsqlite/sqlite3.c sqlite3ExprSetHeightAndFlags(pParse, yygotominor.yy346.pExpr); pExpr 126248 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy14, yymsp[-2].minor.yy346.pExpr); pExpr 126249 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy14 = sqlite3ExprListAppend(pParse,yygotominor.yy14, yymsp[0].minor.yy346.pExpr); pExpr 126254 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy14 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr); pExpr 126255 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy14 = sqlite3ExprListAppend(pParse,yygotominor.yy14, yymsp[0].minor.yy346.pExpr); pExpr 126259 ext/sqlite3/libsqlite/sqlite3.c {yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy14,yymsp[0].minor.yy346.pExpr);} pExpr 126262 ext/sqlite3/libsqlite/sqlite3.c {yygotominor.yy14 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy346.pExpr);} pExpr 126358 ext/sqlite3/libsqlite/sqlite3.c { yygotominor.yy132 = yymsp[0].minor.yy346.pExpr; } pExpr 126411 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); pExpr 126412 ext/sqlite3/libsqlite/sqlite3.c if( yygotominor.yy346.pExpr ){ pExpr 126413 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr->affinity = OE_Ignore; pExpr 126421 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); pExpr 126422 ext/sqlite3/libsqlite/sqlite3.c if( yygotominor.yy346.pExpr ) { pExpr 126423 ext/sqlite3/libsqlite/sqlite3.c yygotominor.yy346.pExpr->affinity = (char)yymsp[-3].minor.yy328; pExpr 126442 ext/sqlite3/libsqlite/sqlite3.c sqlite3Attach(pParse, yymsp[-3].minor.yy346.pExpr, yymsp[-1].minor.yy346.pExpr, yymsp[0].minor.yy132); pExpr 126447 ext/sqlite3/libsqlite/sqlite3.c sqlite3Detach(pParse, yymsp[0].minor.yy346.pExpr); pExpr 132971 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr; /* Parsed MATCH query string */ pExpr 134668 ext/sqlite3/libsqlite/sqlite3.c sqlite3Fts3ExprFree(pCsr->pExpr); pExpr 136173 ext/sqlite3/libsqlite/sqlite3.c sqlite3Fts3ExprFree(pCsr->pExpr); pExpr 136200 ext/sqlite3/libsqlite/sqlite3.c p->azColumn, p->bFts4, p->nColumn, iCol, zQuery, -1, &pCsr->pExpr, pExpr 136300 ext/sqlite3/libsqlite/sqlite3.c }else if( iCol==p->nColumn+2 && pCsr->pExpr ){ pExpr 136961 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Allocate readers for this expression */ pExpr 136966 ext/sqlite3/libsqlite/sqlite3.c if( pExpr && SQLITE_OK==*pRc ){ pExpr 136967 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->eType==FTSQUERY_PHRASE ){ pExpr 136969 ext/sqlite3/libsqlite/sqlite3.c int nToken = pExpr->pPhrase->nToken; pExpr 136972 ext/sqlite3/libsqlite/sqlite3.c Fts3PhraseToken *pToken = &pExpr->pPhrase->aToken[i]; pExpr 136981 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->pPhrase->iDoclistToken==0 ); pExpr 136982 ext/sqlite3/libsqlite/sqlite3.c pExpr->pPhrase->iDoclistToken = -1; pExpr 136984 ext/sqlite3/libsqlite/sqlite3.c *pnOr += (pExpr->eType==FTSQUERY_OR); pExpr 136985 ext/sqlite3/libsqlite/sqlite3.c fts3EvalAllocateReaders(pCsr, pExpr->pLeft, pnToken, pnOr, pRc); pExpr 136986 ext/sqlite3/libsqlite/sqlite3.c fts3EvalAllocateReaders(pCsr, pExpr->pRight, pnToken, pnOr, pRc); pExpr 137619 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Expression to initialize phrases in */ pExpr 137622 ext/sqlite3/libsqlite/sqlite3.c if( pExpr && SQLITE_OK==*pRc ){ pExpr 137623 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->eType==FTSQUERY_PHRASE ){ pExpr 137624 ext/sqlite3/libsqlite/sqlite3.c int nToken = pExpr->pPhrase->nToken; pExpr 137628 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->pPhrase->aToken[i].pDeferred==0 ) break; pExpr 137630 ext/sqlite3/libsqlite/sqlite3.c pExpr->bDeferred = (i==nToken); pExpr 137632 ext/sqlite3/libsqlite/sqlite3.c *pRc = fts3EvalPhraseStart(pCsr, 1, pExpr->pPhrase); pExpr 137634 ext/sqlite3/libsqlite/sqlite3.c fts3EvalStartReaders(pCsr, pExpr->pLeft, pRc); pExpr 137635 ext/sqlite3/libsqlite/sqlite3.c fts3EvalStartReaders(pCsr, pExpr->pRight, pRc); pExpr 137636 ext/sqlite3/libsqlite/sqlite3.c pExpr->bDeferred = (pExpr->pLeft->bDeferred && pExpr->pRight->bDeferred); pExpr 137673 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Expression to consider */ pExpr 137679 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->eType==FTSQUERY_PHRASE ){ pExpr 137680 ext/sqlite3/libsqlite/sqlite3.c Fts3Phrase *pPhrase = pExpr->pPhrase; pExpr 137691 ext/sqlite3/libsqlite/sqlite3.c }else if( pExpr->eType!=FTSQUERY_NOT ){ pExpr 137692 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->eType==FTSQUERY_OR pExpr 137693 ext/sqlite3/libsqlite/sqlite3.c || pExpr->eType==FTSQUERY_AND pExpr 137694 ext/sqlite3/libsqlite/sqlite3.c || pExpr->eType==FTSQUERY_NEAR pExpr 137696 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->pLeft && pExpr->pRight ); pExpr 137697 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->eType==FTSQUERY_OR ){ pExpr 137698 ext/sqlite3/libsqlite/sqlite3.c pRoot = pExpr->pLeft; pExpr 137702 ext/sqlite3/libsqlite/sqlite3.c fts3EvalTokenCosts(pCsr, pRoot, pExpr->pLeft, ppTC, ppOr, pRc); pExpr 137703 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->eType==FTSQUERY_OR ){ pExpr 137704 ext/sqlite3/libsqlite/sqlite3.c pRoot = pExpr->pRight; pExpr 137708 ext/sqlite3/libsqlite/sqlite3.c fts3EvalTokenCosts(pCsr, pRoot, pExpr->pRight, ppTC, ppOr, pRc); pExpr 137925 ext/sqlite3/libsqlite/sqlite3.c fts3EvalAllocateReaders(pCsr, pCsr->pExpr, &nToken, &nOr, &rc); pExpr 137945 ext/sqlite3/libsqlite/sqlite3.c fts3EvalTokenCosts(pCsr, 0, pCsr->pExpr, &pTC, &ppOr, &rc); pExpr 137961 ext/sqlite3/libsqlite/sqlite3.c fts3EvalStartReaders(pCsr, pCsr->pExpr, &rc); pExpr 138075 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Expr. to advance to next matching row */ pExpr 138080 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->bEof==0 ); pExpr 138081 ext/sqlite3/libsqlite/sqlite3.c pExpr->bStart = 1; pExpr 138083 ext/sqlite3/libsqlite/sqlite3.c switch( pExpr->eType ){ pExpr 138086 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pLeft = pExpr->pLeft; pExpr 138087 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pRight = pExpr->pRight; pExpr 138094 ext/sqlite3/libsqlite/sqlite3.c pExpr->iDocid = pRight->iDocid; pExpr 138095 ext/sqlite3/libsqlite/sqlite3.c pExpr->bEof = pRight->bEof; pExpr 138100 ext/sqlite3/libsqlite/sqlite3.c pExpr->iDocid = pLeft->iDocid; pExpr 138101 ext/sqlite3/libsqlite/sqlite3.c pExpr->bEof = pLeft->bEof; pExpr 138115 ext/sqlite3/libsqlite/sqlite3.c pExpr->iDocid = pLeft->iDocid; pExpr 138116 ext/sqlite3/libsqlite/sqlite3.c pExpr->bEof = (pLeft->bEof || pRight->bEof); pExpr 138117 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->eType==FTSQUERY_NEAR && pExpr->bEof ){ pExpr 138138 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pLeft = pExpr->pLeft; pExpr 138139 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pRight = pExpr->pRight; pExpr 138154 ext/sqlite3/libsqlite/sqlite3.c pExpr->bEof = (pLeft->bEof && pRight->bEof); pExpr 138157 ext/sqlite3/libsqlite/sqlite3.c pExpr->iDocid = pLeft->iDocid; pExpr 138159 ext/sqlite3/libsqlite/sqlite3.c pExpr->iDocid = pRight->iDocid; pExpr 138166 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pLeft = pExpr->pLeft; pExpr 138167 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pRight = pExpr->pRight; pExpr 138183 ext/sqlite3/libsqlite/sqlite3.c pExpr->iDocid = pLeft->iDocid; pExpr 138184 ext/sqlite3/libsqlite/sqlite3.c pExpr->bEof = pLeft->bEof; pExpr 138189 ext/sqlite3/libsqlite/sqlite3.c Fts3Phrase *pPhrase = pExpr->pPhrase; pExpr 138191 ext/sqlite3/libsqlite/sqlite3.c *pRc = fts3EvalPhraseNext(pCsr, pPhrase, &pExpr->bEof); pExpr 138192 ext/sqlite3/libsqlite/sqlite3.c pExpr->iDocid = pPhrase->doclist.iDocid; pExpr 138214 ext/sqlite3/libsqlite/sqlite3.c static int fts3EvalNearTest(Fts3Expr *pExpr, int *pRc){ pExpr 138238 ext/sqlite3/libsqlite/sqlite3.c && pExpr->eType==FTSQUERY_NEAR pExpr 138239 ext/sqlite3/libsqlite/sqlite3.c && pExpr->bEof==0 pExpr 138240 ext/sqlite3/libsqlite/sqlite3.c && (pExpr->pParent==0 || pExpr->pParent->eType!=FTSQUERY_NEAR) pExpr 138247 ext/sqlite3/libsqlite/sqlite3.c for(p=pExpr; p->pLeft; p=p->pLeft){ pExpr 138268 ext/sqlite3/libsqlite/sqlite3.c aPoslist = pExpr->pRight->pPhrase->doclist.pList; pExpr 138269 ext/sqlite3/libsqlite/sqlite3.c nToken = pExpr->pRight->pPhrase->nToken; pExpr 138270 ext/sqlite3/libsqlite/sqlite3.c for(p=pExpr->pLeft; p && res; p=p->pLeft){ pExpr 138302 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Expr to test. May or may not be root. */ pExpr 138307 ext/sqlite3/libsqlite/sqlite3.c switch( pExpr->eType ){ pExpr 138311 ext/sqlite3/libsqlite/sqlite3.c fts3EvalTestExpr(pCsr, pExpr->pLeft, pRc) pExpr 138312 ext/sqlite3/libsqlite/sqlite3.c && fts3EvalTestExpr(pCsr, pExpr->pRight, pRc) pExpr 138313 ext/sqlite3/libsqlite/sqlite3.c && fts3EvalNearTest(pExpr, pRc) pExpr 138332 ext/sqlite3/libsqlite/sqlite3.c && pExpr->eType==FTSQUERY_NEAR pExpr 138333 ext/sqlite3/libsqlite/sqlite3.c && (pExpr->pParent==0 || pExpr->pParent->eType!=FTSQUERY_NEAR) pExpr 138336 ext/sqlite3/libsqlite/sqlite3.c for(p=pExpr; p->pPhrase==0; p=p->pLeft){ pExpr 138349 ext/sqlite3/libsqlite/sqlite3.c int bHit1 = fts3EvalTestExpr(pCsr, pExpr->pLeft, pRc); pExpr 138350 ext/sqlite3/libsqlite/sqlite3.c int bHit2 = fts3EvalTestExpr(pCsr, pExpr->pRight, pRc); pExpr 138357 ext/sqlite3/libsqlite/sqlite3.c fts3EvalTestExpr(pCsr, pExpr->pLeft, pRc) pExpr 138358 ext/sqlite3/libsqlite/sqlite3.c && !fts3EvalTestExpr(pCsr, pExpr->pRight, pRc) pExpr 138365 ext/sqlite3/libsqlite/sqlite3.c && (pExpr->iDocid==pCsr->iPrevId || pExpr->bDeferred) pExpr 138367 ext/sqlite3/libsqlite/sqlite3.c Fts3Phrase *pPhrase = pExpr->pPhrase; pExpr 138368 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->bDeferred || pPhrase->doclist.bFreeList==0 ); pExpr 138369 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->bDeferred ){ pExpr 138374 ext/sqlite3/libsqlite/sqlite3.c pExpr->iDocid = pCsr->iPrevId; pExpr 138378 ext/sqlite3/libsqlite/sqlite3.c bHit = (pExpr->bEof==0 && pExpr->iDocid==pCsr->iPrevId); pExpr 138428 ext/sqlite3/libsqlite/sqlite3.c bMiss = (0==fts3EvalTestExpr(pCsr, pCsr->pExpr, &rc)); pExpr 138443 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr = pCsr->pExpr; pExpr 138445 ext/sqlite3/libsqlite/sqlite3.c if( pExpr==0 ){ pExpr 138453 ext/sqlite3/libsqlite/sqlite3.c fts3EvalNextRow(pCsr, pExpr, &rc); pExpr 138454 ext/sqlite3/libsqlite/sqlite3.c pCsr->isEof = pExpr->bEof; pExpr 138457 ext/sqlite3/libsqlite/sqlite3.c pCsr->iPrevId = pExpr->iDocid; pExpr 138484 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, pExpr 138487 ext/sqlite3/libsqlite/sqlite3.c if( pExpr && *pRc==SQLITE_OK ){ pExpr 138488 ext/sqlite3/libsqlite/sqlite3.c Fts3Phrase *pPhrase = pExpr->pPhrase; pExpr 138508 ext/sqlite3/libsqlite/sqlite3.c pExpr->iDocid = 0; pExpr 138509 ext/sqlite3/libsqlite/sqlite3.c pExpr->bEof = 0; pExpr 138510 ext/sqlite3/libsqlite/sqlite3.c pExpr->bStart = 0; pExpr 138512 ext/sqlite3/libsqlite/sqlite3.c fts3EvalRestart(pCsr, pExpr->pLeft, pRc); pExpr 138513 ext/sqlite3/libsqlite/sqlite3.c fts3EvalRestart(pCsr, pExpr->pRight, pRc); pExpr 138525 ext/sqlite3/libsqlite/sqlite3.c static void fts3EvalUpdateCounts(Fts3Expr *pExpr){ pExpr 138526 ext/sqlite3/libsqlite/sqlite3.c if( pExpr ){ pExpr 138527 ext/sqlite3/libsqlite/sqlite3.c Fts3Phrase *pPhrase = pExpr->pPhrase; pExpr 138544 ext/sqlite3/libsqlite/sqlite3.c pExpr->aMI[iCol*3 + 1] += iCnt; pExpr 138545 ext/sqlite3/libsqlite/sqlite3.c pExpr->aMI[iCol*3 + 2] += (iCnt>0); pExpr 138552 ext/sqlite3/libsqlite/sqlite3.c fts3EvalUpdateCounts(pExpr->pLeft); pExpr 138553 ext/sqlite3/libsqlite/sqlite3.c fts3EvalUpdateCounts(pExpr->pRight); pExpr 138570 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr /* FTSQUERY_PHRASE expression */ pExpr 138574 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->eType==FTSQUERY_PHRASE ); pExpr 138575 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->aMI==0 ){ pExpr 138585 ext/sqlite3/libsqlite/sqlite3.c pRoot = pExpr; pExpr 138682 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Phrase expression */ pExpr 138689 ext/sqlite3/libsqlite/sqlite3.c if( pExpr->bDeferred && pExpr->pParent->eType!=FTSQUERY_NEAR ){ pExpr 138696 ext/sqlite3/libsqlite/sqlite3.c rc = fts3EvalGatherStats(pCsr, pExpr); pExpr 138698 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->aMI ); pExpr 138700 ext/sqlite3/libsqlite/sqlite3.c aiOut[iCol*3 + 1] = pExpr->aMI[iCol*3 + 1]; pExpr 138701 ext/sqlite3/libsqlite/sqlite3.c aiOut[iCol*3 + 2] = pExpr->aMI[iCol*3 + 2]; pExpr 138730 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Phrase to return doclist for */ pExpr 138734 ext/sqlite3/libsqlite/sqlite3.c Fts3Phrase *pPhrase = pExpr->pPhrase; pExpr 138748 ext/sqlite3/libsqlite/sqlite3.c iDocid = pExpr->iDocid; pExpr 138750 ext/sqlite3/libsqlite/sqlite3.c if( iDocid!=pCsr->iPrevId || pExpr->bEof ){ pExpr 138764 ext/sqlite3/libsqlite/sqlite3.c pNear = pExpr; pExpr 138765 ext/sqlite3/libsqlite/sqlite3.c for(p=pExpr->pParent; p; p=p->pParent){ pExpr 140563 ext/sqlite3/libsqlite/sqlite3.c static char *exprToString(Fts3Expr *pExpr, char *zBuf){ pExpr 140564 ext/sqlite3/libsqlite/sqlite3.c if( pExpr==0 ){ pExpr 140567 ext/sqlite3/libsqlite/sqlite3.c switch( pExpr->eType ){ pExpr 140569 ext/sqlite3/libsqlite/sqlite3.c Fts3Phrase *pPhrase = pExpr->pPhrase; pExpr 140583 ext/sqlite3/libsqlite/sqlite3.c zBuf = sqlite3_mprintf("%zNEAR/%d ", zBuf, pExpr->nNear); pExpr 140597 ext/sqlite3/libsqlite/sqlite3.c if( zBuf ) zBuf = exprToString(pExpr->pLeft, zBuf); pExpr 140600 ext/sqlite3/libsqlite/sqlite3.c if( zBuf ) zBuf = exprToString(pExpr->pRight, zBuf); pExpr 140633 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr; pExpr 140677 ext/sqlite3/libsqlite/sqlite3.c pTokenizer, 0, azCol, 0, nCol, nCol, zExpr, nExpr, &pExpr, &zDummy pExpr 140679 ext/sqlite3/libsqlite/sqlite3.c assert( rc==SQLITE_OK || pExpr==0 ); pExpr 140683 ext/sqlite3/libsqlite/sqlite3.c pTokenizer, 0, azCol, 0, nCol, nCol, zExpr, nExpr, &pExpr pExpr 140688 ext/sqlite3/libsqlite/sqlite3.c sqlite3Fts3ExprFree(pExpr); pExpr 140690 ext/sqlite3/libsqlite/sqlite3.c }else if( rc==SQLITE_NOMEM || !(zBuf = exprToString(pExpr, 0)) ){ pExpr 140697 ext/sqlite3/libsqlite/sqlite3.c sqlite3Fts3ExprFree(pExpr); pExpr 148765 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Expression to iterate phrases of */ pExpr 148771 ext/sqlite3/libsqlite/sqlite3.c int eType = pExpr->eType; /* Type of expression node pExpr */ pExpr 148774 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->pLeft && pExpr->pRight ); pExpr 148775 ext/sqlite3/libsqlite/sqlite3.c rc = fts3ExprIterate2(pExpr->pLeft, piPhrase, x, pCtx); pExpr 148777 ext/sqlite3/libsqlite/sqlite3.c rc = fts3ExprIterate2(pExpr->pRight, piPhrase, x, pCtx); pExpr 148780 ext/sqlite3/libsqlite/sqlite3.c rc = x(pExpr, *piPhrase, pCtx); pExpr 148797 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Expression to iterate phrases of */ pExpr 148802 ext/sqlite3/libsqlite/sqlite3.c return fts3ExprIterate2(pExpr, &iPhrase, x, pCtx); pExpr 148810 ext/sqlite3/libsqlite/sqlite3.c static int fts3ExprLoadDoclistsCb(Fts3Expr *pExpr, int iPhrase, void *ctx){ pExpr 148812 ext/sqlite3/libsqlite/sqlite3.c Fts3Phrase *pPhrase = pExpr->pPhrase; pExpr 148841 ext/sqlite3/libsqlite/sqlite3.c rc = fts3ExprIterate(pCsr->pExpr, fts3ExprLoadDoclistsCb, (void *)&sCtx); pExpr 148847 ext/sqlite3/libsqlite/sqlite3.c static int fts3ExprPhraseCountCb(Fts3Expr *pExpr, int iPhrase, void *ctx){ pExpr 148849 ext/sqlite3/libsqlite/sqlite3.c UNUSED_PARAMETER(pExpr); pExpr 148853 ext/sqlite3/libsqlite/sqlite3.c static int fts3ExprPhraseCount(Fts3Expr *pExpr){ pExpr 148855 ext/sqlite3/libsqlite/sqlite3.c (void)fts3ExprIterate(pExpr, fts3ExprPhraseCountCb, (void *)&nPhrase); pExpr 148985 ext/sqlite3/libsqlite/sqlite3.c static int fts3SnippetFindPositions(Fts3Expr *pExpr, int iPhrase, void *ctx){ pExpr 148991 ext/sqlite3/libsqlite/sqlite3.c pPhrase->nToken = pExpr->pPhrase->nToken; pExpr 148992 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pCsr); pExpr 149071 ext/sqlite3/libsqlite/sqlite3.c rc = fts3ExprIterate(pCsr->pExpr, fts3SnippetFindPositions, (void *)&sIter); pExpr 149400 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Phrase expression node */ pExpr 149406 ext/sqlite3/libsqlite/sqlite3.c p->pCursor, pExpr, &p->aMatchinfo[3*iPhrase*p->nCol] pExpr 149416 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Phrase expression node */ pExpr 149427 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3Fts3EvalPhrasePoslist(p->pCursor, pExpr, i, &pCsr); pExpr 149443 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Phrase expression node */ pExpr 149454 ext/sqlite3/libsqlite/sqlite3.c assert( pExpr->pPhrase ); pExpr 149461 ext/sqlite3/libsqlite/sqlite3.c for(pEof=pExpr; pEof && pEof->bEof==0; pEof=pEof->pParent); pExpr 149463 ext/sqlite3/libsqlite/sqlite3.c if( pEof==0 && pExpr->iDocid==p->pCursor->iPrevId ){ pExpr 149464 ext/sqlite3/libsqlite/sqlite3.c Fts3Phrase *pPhrase = pExpr->pPhrase; pExpr 149566 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr; /* Pointer to phrase expression */ pExpr 149579 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr, /* Phrase expression node */ pExpr 149584 ext/sqlite3/libsqlite/sqlite3.c aIter[iPhrase].pExpr = pExpr; pExpr 149633 ext/sqlite3/libsqlite/sqlite3.c (void)fts3ExprIterate(pCsr->pExpr, fts3MatchinfoLcsCb, (void*)aIter); pExpr 149637 ext/sqlite3/libsqlite/sqlite3.c nToken -= pIter->pExpr->pPhrase->nToken; pExpr 149648 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3Fts3EvalPhrasePoslist(pCsr, pIt->pExpr, iCol, &pIt->pRead); pExpr 149778 ext/sqlite3/libsqlite/sqlite3.c (void)fts3ExprIterate(pCsr->pExpr, fts3ExprLHitsCb, (void*)pInfo); pExpr 149782 ext/sqlite3/libsqlite/sqlite3.c Fts3Expr *pExpr; pExpr 149784 ext/sqlite3/libsqlite/sqlite3.c pExpr = pCsr->pExpr; pExpr 149792 ext/sqlite3/libsqlite/sqlite3.c rc = fts3ExprIterate(pExpr, fts3ExprGlobalHitsCb,(void*)pInfo); pExpr 149795 ext/sqlite3/libsqlite/sqlite3.c (void)fts3ExprIterate(pExpr, fts3ExprLocalHitsCb,(void*)pInfo); pExpr 149846 ext/sqlite3/libsqlite/sqlite3.c pCsr->nPhrase = fts3ExprPhraseCount(pCsr->pExpr); pExpr 149906 ext/sqlite3/libsqlite/sqlite3.c if( !pCsr->pExpr ){ pExpr 149999 ext/sqlite3/libsqlite/sqlite3.c static int fts3ExprTermOffsetInit(Fts3Expr *pExpr, int iPhrase, void *ctx){ pExpr 150008 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList); pExpr 150009 ext/sqlite3/libsqlite/sqlite3.c nTerm = pExpr->pPhrase->nToken; pExpr 150040 ext/sqlite3/libsqlite/sqlite3.c if( !pCsr->pExpr ){ pExpr 150080 ext/sqlite3/libsqlite/sqlite3.c (void)fts3ExprIterate(pCsr->pExpr, fts3ExprTermOffsetInit, (void *)&sCtx); pExpr 150190 ext/sqlite3/libsqlite/sqlite3.c if( !pCsr->pExpr ){ pExpr 154668 ext/sqlite3/libsqlite/sqlite3.c URegularExpression *pExpr = (URegularExpression *)p; pExpr 154669 ext/sqlite3/libsqlite/sqlite3.c uregex_close(pExpr); pExpr 154693 ext/sqlite3/libsqlite/sqlite3.c URegularExpression *pExpr; pExpr 154706 ext/sqlite3/libsqlite/sqlite3.c pExpr = sqlite3_get_auxdata(p, 0); pExpr 154707 ext/sqlite3/libsqlite/sqlite3.c if( !pExpr ){ pExpr 154712 ext/sqlite3/libsqlite/sqlite3.c pExpr = uregex_open(zPattern, -1, 0, 0, &status); pExpr 154715 ext/sqlite3/libsqlite/sqlite3.c sqlite3_set_auxdata(p, 0, pExpr, icuRegexpDelete); pExpr 154717 ext/sqlite3/libsqlite/sqlite3.c assert(!pExpr); pExpr 154724 ext/sqlite3/libsqlite/sqlite3.c uregex_setText(pExpr, zString, -1, &status); pExpr 154731 ext/sqlite3/libsqlite/sqlite3.c res = uregex_matches(pExpr, 0, &status); pExpr 154742 ext/sqlite3/libsqlite/sqlite3.c uregex_setText(pExpr, 0, 0, &status);