Lines Matching refs:Expr
15304 typedef struct Expr Expr; typedef
16462 Expr *pExpr; /* Used when p4type is P4_EXPR */
17047 SQLITE_PRIVATE int sqlite3CursorRangeHintExprCheck(Walker *pWalker, Expr *pExpr);
18681 Expr *pPartIdxWhere; /* WHERE clause for partial indices */
18792 Expr *pCExpr; /* The original expression */
18802 Expr *pFExpr; /* Expression encoding the function */
18908 struct Expr { struct
18929 Expr *pLeft; /* Left subnode */ argument
18930 Expr *pRight; /* Right subnode */ argument
19063 #define EXPR_FULLSIZE sizeof(Expr) /* Full size */
19064 #define EXPR_REDUCEDSIZE offsetof(Expr,iTable) /* Common features */
19065 #define EXPR_TOKENONLYSIZE offsetof(Expr,pLeft) /* Fewer features */
19111 Expr *pExpr; /* The parse tree for this expression */
19166 Expr *pExpr; /* Expr to implement a USING variable -- NOT USED */
19227 Expr *pOn; /* fg.isUsing==0 => The ON clause of a join */
19246 Expr *pOn; /* The ON clause of a join */
19395 Expr *pUpsertTargetWhere; /* WHERE clause for partial index targets */
19397 Expr *pUpsertWhere; /* WHERE clause for the ON CONFLICT UPDATE */
19441 Expr *pWhere; /* The WHERE clause */
19443 Expr *pHaving; /* The HAVING clause */
19447 Expr *pLimit; /* LIMIT expression. NULL means not used. */
19678 Expr *pExpr; /* The expression contained in the index */
19934 Expr *pWhen; /* The WHEN clause of the expression (may be NULL) */
20004 Expr *pWhere; /* The WHERE clause for DELETE or UPDATE steps */
20205 int (*xExprCallback)(Walker*, Expr*); /* Callback for expressions */
20249 SQLITE_PRIVATE int sqlite3WalkExpr(Walker*, Expr*);
20250 SQLITE_PRIVATE int sqlite3WalkExprNN(Walker*, Expr*);
20255 SQLITE_PRIVATE int sqlite3ExprWalkNoop(Walker*, Expr*);
20385 Expr *pStart; /* Expression for "<expr> PRECEDING" */
20386 Expr *pEnd; /* Expression for "<expr> FOLLOWING" */
20389 Expr *pFilter; /* The FILTER expression */
20397 Expr *pOwner; /* Expression object this window is attached to */
20411 SQLITE_PRIVATE Window *sqlite3WindowAlloc(Parse*, int, int, Expr*, int , Expr*, u8);
20412 SQLITE_PRIVATE void sqlite3WindowAttach(Parse*, Expr*, Window*);
20419 SQLITE_PRIVATE Window *sqlite3WindowDup(sqlite3 *db, Expr *pOwner, Window *p);
20667 SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView*, const Expr*, u8);
20678 SQLITE_PRIVATE void sqlite3TreeViewDelete(const With*, const SrcList*, const Expr*,
20679 const ExprList*,const Expr*, const Trigger*);
20684 const Expr*, int, const ExprList*, const Expr*,
20695 SQLITE_PRIVATE void sqlite3ShowExpr(const Expr*);
20719 SQLITE_PRIVATE void sqlite3DequoteExpr(Expr*);
20737 SQLITE_PRIVATE Expr *sqlite3ExprAlloc(sqlite3*,int,const Token*,int);
20738 SQLITE_PRIVATE Expr *sqlite3Expr(sqlite3*,int,const char*);
20739 SQLITE_PRIVATE void sqlite3ExprAttachSubtrees(sqlite3*,Expr*,Expr*,Expr*);
20740 SQLITE_PRIVATE Expr *sqlite3PExpr(Parse*, int, Expr*, Expr*);
20741 SQLITE_PRIVATE void sqlite3PExprAddSelect(Parse*, Expr*, Select*);
20742 SQLITE_PRIVATE Expr *sqlite3ExprAnd(Parse*,Expr*, Expr*);
20743 SQLITE_PRIVATE Expr *sqlite3ExprSimplifiedAndOr(Expr*);
20744 SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse*,ExprList*, const Token*, int);
20745 SQLITE_PRIVATE void sqlite3ExprAddFunctionOrderBy(Parse*,Expr*,ExprList*);
20746 SQLITE_PRIVATE void sqlite3ExprOrderByAggregateError(Parse*,Expr*);
20747 SQLITE_PRIVATE void sqlite3ExprFunctionUsable(Parse*,const Expr*,const FuncDef*);
20748 SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse*, Expr*, u32);
20749 SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3*, Expr*);
20751 SQLITE_PRIVATE void sqlite3ExprDeferredDelete(Parse*, Expr*);
20752 SQLITE_PRIVATE void sqlite3ExprUnmapAndDelete(Parse*, Expr*);
20753 SQLITE_PRIVATE ExprList *sqlite3ExprListAppend(Parse*,ExprList*,Expr*);
20754 SQLITE_PRIVATE ExprList *sqlite3ExprListAppendVector(Parse*,ExprList*,IdList*,Expr*);
20774 SQLITE_PRIVATE void sqlite3ColumnSetExpr(Parse*,Table*,Column*,Expr*);
20775 SQLITE_PRIVATE Expr *sqlite3ColumnExpr(Table*,Column*);
20802 SQLITE_PRIVATE void sqlite3AddCheckConstraint(Parse*, Expr*, const char*, const char*);
20803 SQLITE_PRIVATE void sqlite3AddDefaultValue(Parse*,Expr*,const char*,const char*);
20805 SQLITE_PRIVATE void sqlite3AddGenerated(Parse*,Expr*,Token*);
20882 Expr*, int, int, u8);
20885 SQLITE_PRIVATE Select *sqlite3SelectNew(Parse*,ExprList*,SrcList*,Expr*,ExprList*,
20886 Expr*,ExprList*,u32,Expr*);
20893 SQLITE_PRIVATE Expr *sqlite3LimitWhere(Parse*,SrcList*,Expr*,ExprList*,Expr*,char*);
20896 SQLITE_PRIVATE void sqlite3DeleteFrom(Parse*, SrcList*, Expr*, ExprList*, Expr*);
20897 SQLITE_PRIVATE void sqlite3Update(Parse*, SrcList*, ExprList*,Expr*,int,ExprList*,Expr*,
20899 SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin(Parse*,SrcList*,Expr*,ExprList*,
20919 SQLITE_PRIVATE void sqlite3ExprCode(Parse*, Expr*, int);
20923 SQLITE_PRIVATE void sqlite3ExprCodeCopy(Parse*, Expr*, int);
20924 SQLITE_PRIVATE void sqlite3ExprCodeFactorable(Parse*, Expr*, int);
20925 SQLITE_PRIVATE int sqlite3ExprCodeRunJustOnce(Parse*, Expr*, int);
20926 SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse*, Expr*, int*);
20927 SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse*, Expr*, int);
20933 SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse*, Expr*, int, int);
20934 SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse*, Expr*, int, int);
20935 SQLITE_PRIVATE void sqlite3ExprIfFalseDup(Parse*, Expr*, int, int);
20945 SQLITE_PRIVATE void sqlite3Vacuum(Parse*,Token*,Expr*);
20948 SQLITE_PRIVATE int sqlite3ExprCompare(const Parse*,const Expr*,const Expr*, int);
20949 SQLITE_PRIVATE int sqlite3ExprCompareSkip(Expr*,Expr*,int);
20951 SQLITE_PRIVATE int sqlite3ExprImpliesExpr(const Parse*,const Expr*,const Expr*, int);
20952 SQLITE_PRIVATE int sqlite3ExprImpliesNonNullRow(Expr*,int,int);
20954 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext*, Expr*);
20956 SQLITE_PRIVATE int sqlite3ExprCoveredByIndex(Expr*, int iCur, Index *pIdx);
20957 SQLITE_PRIVATE int sqlite3ReferencesSrcList(Parse*, Expr*, SrcList*);
20972 SQLITE_PRIVATE int sqlite3ExprIdToTrueFalse(Expr*);
20973 SQLITE_PRIVATE int sqlite3ExprTruthValue(const Expr*);
20974 SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr*);
20975 SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr*);
20976 SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr*, u8);
20977 SQLITE_PRIVATE int sqlite3ExprIsConstantOrGroupBy(Parse*, Expr*, ExprList*);
20978 SQLITE_PRIVATE int sqlite3ExprIsTableConstant(Expr*,int);
20979 SQLITE_PRIVATE int sqlite3ExprIsSingleTableConstraint(Expr*,const SrcList*,int);
20981 SQLITE_PRIVATE int sqlite3ExprContainsSubquery(Expr*);
20983 SQLITE_PRIVATE int sqlite3ExprIsInteger(const Expr*, int*);
20984 SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr*);
20985 SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr*, char);
20993 SQLITE_PRIVATE int sqlite3ExprReferencesUpdatedColumn(Expr*,int*,int);
21009 SQLITE_PRIVATE Expr *sqlite3ExprDup(sqlite3*,const Expr*,int);
21031 SQLITE_PRIVATE void sqlite3MaterializeView(Parse*, Table*, Expr*, ExprList*,Expr*,int);
21036 Expr*,int, int);
21045 void sqliteViewTriggers(Parse*, Table*, Expr*, int, ExprList*);
21053 Expr*, u8, const char*,const char*);
21054 SQLITE_PRIVATE TriggerStep *sqlite3TriggerDeleteStep(Parse*,Token*, Expr*,
21079 SQLITE_PRIVATE void sqlite3SetJoinExpr(Expr*,int,u32);
21083 SQLITE_PRIVATE void sqlite3AuthRead(Parse*,Expr*,Schema*,SrcList*);
21095 SQLITE_PRIVATE void sqlite3Attach(Parse*, Expr*, Expr*, Expr*);
21096 SQLITE_PRIVATE void sqlite3Detach(Parse*, Expr*);
21100 SQLITE_PRIVATE int sqlite3FixExpr(DbFixer*, Expr*);
21153 SQLITE_PRIVATE char sqlite3CompareAffinity(const Expr *pExpr, char aff2);
21154 SQLITE_PRIVATE int sqlite3IndexAffinityOk(const Expr *pExpr, char idx_affinity);
21156 SQLITE_PRIVATE char sqlite3ExprAffinity(const Expr *pExpr);
21157 SQLITE_PRIVATE int sqlite3ExprDataType(const Expr *pExpr);
21185 SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, const Expr *pExpr);
21186 SQLITE_PRIVATE CollSeq *sqlite3ExprNNCollSeq(Parse *pParse, const Expr *pExpr);
21187 SQLITE_PRIVATE int sqlite3ExprCollSeqMatch(Parse*,const Expr*,const Expr*);
21188 SQLITE_PRIVATE Expr *sqlite3ExprAddCollateToken(const Parse *pParse, Expr*, const Token*, int);
21189 SQLITE_PRIVATE Expr *sqlite3ExprAddCollateString(const Parse*,Expr*,const char*);
21190 SQLITE_PRIVATE Expr *sqlite3ExprSkipCollate(Expr*);
21191 SQLITE_PRIVATE Expr *sqlite3ExprSkipCollateAndLikely(Expr*);
21221 SQLITE_PRIVATE int sqlite3ValueFromExpr(sqlite3 *, const Expr *, u8, u8, sqlite3_value **);
21251 SQLITE_PRIVATE void sqlite3CodeRhsOfIN(Parse*, Expr*, int);
21252 SQLITE_PRIVATE int sqlite3CodeSubselect(Parse*, Expr*);
21263 SQLITE_PRIVATE Bitmask sqlite3ExprColUsed(Expr*);
21265 SQLITE_PRIVATE int sqlite3ResolveExprNames(NameContext*, Expr*);
21268 SQLITE_PRIVATE int sqlite3ResolveSelfReference(Parse*,Table*,int,Expr*,ExprList*);
21276 SQLITE_PRIVATE void sqlite3RenameExprUnmap(Parse*, Expr*);
21288 SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3*,Expr*,int*,char*);
21328 SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *, SrcList *, int, int);
21330 SQLITE_PRIVATE void sqlite3RecordErrorOffsetOfExpr(sqlite3*,const Expr*);
21336 SQLITE_PRIVATE int sqlite3ExprCheckIN(Parse*, Expr*);
21343 Parse*,Index*,UnpackedRecord**,Expr*,int,int,int*);
21344 SQLITE_PRIVATE int sqlite3Stat4ValueFromExpr(Parse*, Expr*, u8, sqlite3_value**);
21436 SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction(sqlite3 *,FuncDef*, int nArg, Expr*);
21449 SQLITE_PRIVATE CollSeq *sqlite3ExprCompareCollSeq(Parse*,const Expr*);
21450 SQLITE_PRIVATE CollSeq *sqlite3BinaryCompareCollSeq(Parse *, const Expr*, const Expr*);
21472 SQLITE_PRIVATE Upsert *sqlite3UpsertNew(sqlite3*,ExprList*,Expr*,ExprList*,Expr*,Upsert*);
21554 SQLITE_PRIVATE int sqlite3FindInIndex(Parse *, Expr *, u32, int*, int*, int*);
21566 SQLITE_PRIVATE void sqlite3ExprSetHeightAndFlags(Parse *pParse, Expr *p);
21574 SQLITE_PRIVATE void sqlite3ExprSetErrorOffset(Expr*,int);
21666 SQLITE_PRIVATE int sqlite3ExprVectorSize(const Expr *pExpr);
21667 SQLITE_PRIVATE int sqlite3ExprIsVector(const Expr *pExpr);
21668 SQLITE_PRIVATE Expr *sqlite3VectorFieldSubexpr(Expr*, int);
21669 SQLITE_PRIVATE Expr *sqlite3ExprForVectorField(Parse*,Expr*,int,int);
21670 SQLITE_PRIVATE void sqlite3VectorErrorMsg(Parse*, Expr*);
31663 Expr *pExpr = va_arg(ap,Expr*); in sqlite3_str_vappendf()
31764 SQLITE_PRIVATE void sqlite3RecordErrorOffsetOfExpr(sqlite3 *db, const Expr *pExpr){ in sqlite3RecordErrorOffsetOfExpr()
32653 Expr *pExpr, /* Value for PRECEDING or FOLLOWING */ in sqlite3TreeViewBound()
32767 SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 moreToFollow){ in sqlite3TreeViewExpr()
32993 Expr *pOB = pExpr->pLeft; in sqlite3TreeViewExpr()
33057 const Expr *pX, *pY, *pZ; in sqlite3TreeViewExpr()
33129 Expr tmp; in sqlite3TreeViewExpr()
33311 const Expr *pWhere, in sqlite3TreeViewDelete()
33313 const Expr *pLimit, in sqlite3TreeViewDelete()
33438 const Expr *pWhere, in sqlite3TreeViewUpdate()
33441 const Expr *pLimit, in sqlite3TreeViewUpdate()
33569 SQLITE_PRIVATE void sqlite3ShowExpr(const Expr *p){ sqlite3TreeViewExpr(0,p,0); } in sqlite3ShowExpr()
34907 SQLITE_PRIVATE void sqlite3DequoteExpr(Expr *p){ in sqlite3DequoteExpr()
71135 Expr *pExpr;
71140 pExpr = va_arg(ap, Expr*);
83833 const Expr *p, /* The expression to evaluate */
83932 const Expr *pExpr, /* The expression to evaluate */
84095 const Expr *pExpr, /* The expression to evaluate */
84124 Expr *pExpr, /* The expression to extract a value from */
84201 Expr *pExpr, /* The expression to extract a value from */
84219 Expr *pElem = (pExpr ? sqlite3VectorFieldSubexpr(pExpr, i) : 0);
84244 Expr *pExpr, /* The expression to extract a value from */
85753 sqlite3ExprDelete(db, (Expr*)p4);
86180 static void displayP4Expr(StrAccum *p, Expr *pExpr){
89742 SQLITE_PRIVATE int sqlite3CursorRangeHintExprCheck(Walker *pWalker, Expr *pExpr){
105986 SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3WalkExprNN(Walker *pWalker, Expr *pExpr){
106020 SQLITE_PRIVATE int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){
106169 SQLITE_PRIVATE int sqlite3ExprWalkNoop(Walker *NotUsed, Expr *NotUsed2){
106219 static int incrAggDepth(Walker *pWalker, Expr *pExpr){
106223 static void incrAggFunctionDepth(Expr *pExpr, int N){
106256 Expr *pExpr, /* Transform this into an alias to the result set */
106259 Expr *pOrig; /* The iCol-th column of the result set */
106260 Expr *pDup; /* Copy of pOrig */
106272 Expr temp;
106278 memcpy(&temp, pDup, sizeof(Expr));
106279 memcpy(pDup, pExpr, sizeof(Expr));
106280 memcpy(pExpr, &temp, sizeof(Expr));
106361 SQLITE_PRIVATE Bitmask sqlite3ExprColUsed(Expr *pExpr){
106396 Expr *pNew = sqlite3ExprAlloc(pParse->db, TK_COLUMN, 0, 0);
106466 Expr *pExpr /* Make this EXPR node point to the selected column */
106820 Expr *pOrig;
107006 SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *db, SrcList *pSrc, int iSrc, int iCol){
107007 Expr *p = sqlite3ExprAlloc(db, TK_COLUMN, 0, 0);
107054 Expr *pExpr, /* Invalidate this expression on error */
107055 Expr *pError /* Associate error with this expression */
107078 static int exprProbability(Expr *p){
107099 static int resolveExprStep(Walker *pWalker, Expr *pExpr){
107190 Expr *pRight;
107198 Expr *pLeft = pExpr->pLeft;
107496 Expr *pRight = sqlite3ExprSkipCollateAndLikely(pExpr->pRight);
107567 Expr *pE /* Expression we are trying to match */
107609 Expr *pE /* The specific ORDER BY term */
107658 Expr *pError /* Associate the error with the expression */
107713 Expr *pE, *pDup;
107751 Expr *pNew = sqlite3Expr(db, TK_INTEGER, 0);
107758 Expr *pParent = pItem->pExpr;
107828 static int resolveRemoveWindowsCb(Walker *pWalker, Expr *pExpr){
107841 static void windowRemoveExprFromSelect(Select *pSelect, Expr *pExpr){
107888 Expr *pE = pItem->pExpr;
107889 Expr *pE2 = sqlite3ExprSkipCollateAndLikely(pE);
108227 Expr *pExpr /* The expression to be analyzed. */
108281 Expr *pExpr = pList->a[i].pExpr;
108359 Expr *pExpr, /* Expression to resolve. May be NULL. */
108409 static void exprCodeBetween(Parse*,Expr*,int,void(*)(Parse*,Expr*,int,int),int);
108410 static int exprCodeVector(Parse *pParse, Expr *p, int *piToFree);
108436 SQLITE_PRIVATE char sqlite3ExprAffinity(const Expr *pExpr){
108494 SQLITE_PRIVATE int sqlite3ExprDataType(const Expr *pExpr){
108562 SQLITE_PRIVATE Expr *sqlite3ExprAddCollateToken(
108564 Expr *pExpr, /* Add the "COLLATE" clause to this expression */
108569 Expr *pNew = sqlite3ExprAlloc(pParse->db, TK_COLLATE, pCollName, dequote);
108578 SQLITE_PRIVATE Expr *sqlite3ExprAddCollateString(
108580 Expr *pExpr, /* Add the "COLLATE" clause to this expression */
108592 SQLITE_PRIVATE Expr *sqlite3ExprSkipCollate(Expr *pExpr){
108605 SQLITE_PRIVATE Expr *sqlite3ExprSkipCollateAndLikely(Expr *pExpr){
108634 SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, const Expr *pExpr){
108637 const Expr *p = pExpr;
108671 Expr *pNext = p->pRight;
108705 SQLITE_PRIVATE CollSeq *sqlite3ExprNNCollSeq(Parse *pParse, const Expr *pExpr){
108715 SQLITE_PRIVATE int sqlite3ExprCollSeqMatch(Parse *pParse, const Expr *pE1, const Expr *pE2){
108726 SQLITE_PRIVATE char sqlite3CompareAffinity(const Expr *pExpr, char aff2){
108748 static char comparisonAffinity(const Expr *pExpr){
108771 SQLITE_PRIVATE int sqlite3IndexAffinityOk(const Expr *pExpr, char idx_affinity){
108787 const Expr *pExpr1, /* Left operand */
108788 const Expr *pExpr2, /* Right operand */
108810 const Expr *pLeft,
108811 const Expr *pRight
108836 SQLITE_PRIVATE CollSeq *sqlite3ExprCompareCollSeq(Parse *pParse, const Expr *p){
108849 Expr *pLeft, /* The left operand */
108850 Expr *pRight, /* The right operand */
108883 SQLITE_PRIVATE int sqlite3ExprIsVector(const Expr *pExpr){
108893 SQLITE_PRIVATE int sqlite3ExprVectorSize(const Expr *pExpr){
108922 SQLITE_PRIVATE Expr *sqlite3VectorFieldSubexpr(Expr *pVector, int i){
108958 SQLITE_PRIVATE Expr *sqlite3ExprForVectorField(
108960 Expr *pVector, /* The vector. List of expressions or a sub-SELECT */
108964 Expr *pRet;
108992 Expr **ppVector;
109015 static int exprCodeSubselect(Parse *pParse, Expr *pExpr){
109045 Expr *pVector, /* Vector to extract element from */
109048 Expr **ppExpr, /* OUT: Expression element */
109083 Expr *pExpr, /* The comparison operation */
109089 Expr *pLeft = pExpr->pLeft;
109090 Expr *pRight = pExpr->pRight;
109126 Expr *pL = 0, *pR = 0;
109197 static void heightOfExpr(const Expr *p, int *pnHeight){
109234 static void exprSetHeight(Expr *p){
109256 SQLITE_PRIVATE void sqlite3ExprSetHeightAndFlags(Parse *pParse, Expr *p){
109276 SQLITE_PRIVATE void sqlite3ExprSetHeightAndFlags(Parse *pParse, Expr *p){
109288 SQLITE_PRIVATE void sqlite3ExprSetErrorOffset(Expr *pExpr, int iOfst){
109314 SQLITE_PRIVATE Expr *sqlite3ExprAlloc(
109320 Expr *pNew;
109332 pNew = sqlite3DbMallocRawNN(db, sizeof(Expr)+nExtra);
109334 memset(pNew, 0, sizeof(Expr));
109362 SQLITE_PRIVATE Expr *sqlite3Expr(
109381 Expr *pRoot,
109382 Expr *pLeft,
109383 Expr *pRight
109420 SQLITE_PRIVATE Expr *sqlite3PExpr(
109423 Expr *pLeft, /* Left operand */
109424 Expr *pRight /* Right operand */
109426 Expr *p;
109427 p = sqlite3DbMallocRawNN(pParse->db, sizeof(Expr));
109429 memset(p, 0, sizeof(Expr));
109445 SQLITE_PRIVATE void sqlite3PExprAddSelect(Parse *pParse, Expr *pExpr, Select *pSelect){
109481 Expr *pExpr = pEList->a[ii].pExpr;
109522 SQLITE_PRIVATE Expr *sqlite3ExprAnd(Parse *pParse, Expr *pLeft, Expr *pRight){
109546 SQLITE_PRIVATE Expr *sqlite3ExprFunction(
109552 Expr *pNew;
109580 SQLITE_PRIVATE void sqlite3ExprOrderByAggregateError(Parse *pParse, Expr *p){
109598 Expr *pExpr, /* The function call to which ORDER BY is to be added */
109601 Expr *pOB;
109650 const Expr *pExpr, /* The function invocation */
109687 SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr, u32 n){
109757 static SQLITE_NOINLINE void sqlite3ExprDeleteNN(sqlite3 *db, Expr *p){
109795 SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3 *db, Expr *p){
109799 if( ALWAYS(p) ) sqlite3ExprDeleteNN(db, (Expr*)p);
109825 SQLITE_PRIVATE void sqlite3ExprDeferredDelete(Parse *pParse, Expr *pExpr){
109832 SQLITE_PRIVATE void sqlite3ExprUnmapAndDelete(Parse *pParse, Expr *p){
109846 static int exprStructSize(const Expr *p){
109886 static int dupedExprStructSize(const Expr *p, int flags){
109912 static int dupedExprNodeSize(const Expr *p, int flags){
109931 static int dupedExprSize(const Expr *p){
109963 static Expr *exprDup(
109965 const Expr *p, /* Expr tree to be duplicated */
109969 Expr *pNew; /* Value to return */
110007 pNew = (Expr *)sEdupBuf.zAlloc;
110141 static int gatherSelectWindowsCallback(Walker *pWalker, Expr *pExpr){
110184 SQLITE_PRIVATE Expr *sqlite3ExprDup(sqlite3 *db, const Expr *p, int flags){
110193 Expr *pPriorSelectColOld = 0;
110194 Expr *pPriorSelectColNew = 0;
110204 Expr *pOldExpr = pOldItem->pExpr;
110205 Expr *pNewExpr;
110376 Expr *pExpr /* Expression to be appended. Might be NULL */
110396 Expr *pExpr /* Expression to be appended. Might be NULL */
110418 Expr *pExpr /* Expression to be appended. Might be NULL */
110448 Expr *pExpr /* Vector expression to be appended. Might be NULL */
110471 Expr *pSubExpr = sqlite3ExprForVectorField(pParse, pExpr, i, pColumns->nId);
110483 Expr *pFirst = pList->a[iFirst].pExpr;
110645 Expr *pExpr = pList->a[i].pExpr;
110685 SQLITE_PRIVATE int sqlite3ExprIdToTrueFalse(Expr *pExpr){
110702 SQLITE_PRIVATE int sqlite3ExprTruthValue(const Expr *pExpr){
110703 pExpr = sqlite3ExprSkipCollateAndLikely((Expr*)pExpr);
110724 SQLITE_PRIVATE Expr *sqlite3ExprSimplifiedAndOr(Expr *pExpr){
110727 Expr *pRight = sqlite3ExprSimplifiedAndOr(pExpr->pRight);
110728 Expr *pLeft = sqlite3ExprSimplifiedAndOr(pExpr->pLeft);
110765 static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){
110837 static int exprIsConst(Expr *p, int initFlag, int iCur){
110858 SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr *p){
110875 SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr *p){
110885 SQLITE_PRIVATE int sqlite3ExprIsTableConstant(Expr *p, int iCur){
110931 Expr *pExpr, /* The constraint */
110965 static int exprNodeIsConstantOrGroupBy(Walker *pWalker, Expr *pExpr){
110972 Expr *p = pGroupBy->a[i].pExpr;
111009 SQLITE_PRIVATE int sqlite3ExprIsConstantOrGroupBy(Parse *pParse, Expr *p, ExprList *pGroupBy){
111041 SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr *p, u8 isInit){
111051 SQLITE_PRIVATE int sqlite3ExprContainsSubquery(Expr *p){
111070 SQLITE_PRIVATE int sqlite3ExprIsInteger(const Expr *p, int *pValue){
111116 SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr *p){
111154 SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr *p, char aff){
111226 static Select *isCandidateForInOpt(const Expr *pX){
111256 Expr *pRes = pEList->a[i].pExpr;
111288 static int sqlite3InRhsIsConstant(Expr *pIn){
111289 Expr *pLHS;
111386 Expr *pX, /* The IN expression */
111460 Expr *pLhs = sqlite3VectorFieldSubexpr(pX->pLeft, i);
111503 Expr *pLhs = sqlite3VectorFieldSubexpr(pX->pLeft, i);
111504 Expr *pRhs = pEList->a[i].pExpr;
111609 static char *exprINAffinity(Parse *pParse, const Expr *pExpr){
111610 Expr *pLeft = pExpr->pLeft;
111620 Expr *pA = sqlite3VectorFieldSubexpr(pLeft, i);
111660 SQLITE_PRIVATE void sqlite3VectorErrorMsg(Parse *pParse, Expr *pExpr){
111696 Expr *pExpr, /* The IN operator */
111701 Expr *pLeft; /* the LHS of the IN operator */
111805 Expr *p = sqlite3VectorFieldSubexpr(pLeft, i);
111839 Expr *pE2 = pItem->pExpr;
111894 SQLITE_PRIVATE int sqlite3CodeSubselect(Parse *pParse, Expr *pExpr){
111900 Expr *pLimit; /* New limit expression */
112022 SQLITE_PRIVATE int sqlite3ExprCheckIN(Parse *pParse, Expr *pIn){
112065 Expr *pExpr, /* The IN expression */
112078 Expr *pLeft; /* The LHS of the IN operator */
112215 Expr *p = sqlite3VectorFieldSubexpr(pExpr->pLeft, i);
112278 Expr *p;
112339 static void codeInteger(Parse *pParse, Expr *pExpr, int negFlag, int iMem){
112520 static void exprToRegister(Expr *pExpr, int iReg){
112521 Expr *p = sqlite3ExprSkipCollateAndLikely(pExpr);
112539 static int exprCodeVector(Parse *pParse, Expr *p, int *piFreeable){
112611 Expr caseExpr;
112619 Expr *pArg = pFarg->a[0].pExpr;
112662 Expr *pA1;
112704 Expr *pExpr, /* The expression to potentially bypass */
112765 static int exprPartidxExprLookup(Parse *pParse, Expr *pExpr, int iTarget){
112801 SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){
112808 Expr tempX; /* Temporary expression node */
113043 Expr *pLeft = pExpr->pLeft;
113100 Expr *pLeft = pExpr->pLeft;
113316 Expr *pLeft = pExpr->pLeft;
113513 Expr opCompare; /* The X==Ei expression */
113514 Expr *pX; /* The X expression */
113515 Expr *pTest = 0; /* X==Ei (form A) or just Ei (form B) */
113516 Expr *pDel = 0;
113623 Expr *pExpr, /* The expression to code when the VDBE initializes */
113681 SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse *pParse, Expr *pExpr, int *pReg){
113709 SQLITE_PRIVATE void sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){
113719 Expr *pX = sqlite3ExprSkipCollateAndLikely(pExpr);
113737 SQLITE_PRIVATE void sqlite3ExprCodeCopy(Parse *pParse, Expr *pExpr, int target){
113750 SQLITE_PRIVATE void sqlite3ExprCodeFactorable(Parse *pParse, Expr *pExpr, int target){
113795 Expr *pExpr = pItem->pExpr;
113855 Expr *pExpr, /* The BETWEEN expression */
113857 void (*xJump)(Parse*,Expr*,int,int), /* Action to take */
113860 Expr exprAnd; /* The AND operator in x>=y AND x<=z */
113861 Expr compLeft; /* The x>=y term */
113862 Expr compRight; /* The x<=z term */
113864 Expr *pDel = 0;
113867 memset(&compLeft, 0, sizeof(Expr));
113868 memset(&compRight, 0, sizeof(Expr));
113869 memset(&exprAnd, 0, sizeof(Expr));
113925 SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){
113940 Expr *pAlt = sqlite3ExprSimplifiedAndOr(pExpr);
114068 SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){
114114 Expr *pAlt = sqlite3ExprSimplifiedAndOr(pExpr);
114241 SQLITE_PRIVATE void sqlite3ExprIfFalseDup(Parse *pParse, Expr *pExpr, int dest,int jumpIfNull){
114243 Expr *pCopy = sqlite3ExprDup(db, pExpr, 0);
114265 const Expr *pVar,
114266 const Expr *pExpr
114321 const Expr *pA,
114322 const Expr *pB,
114428 Expr *pExprA = pA->a[i].pExpr;
114429 Expr *pExprB = pB->a[i].pExpr;
114440 SQLITE_PRIVATE int sqlite3ExprCompareSkip(Expr *pA,Expr *pB, int iTab){
114455 const Expr *p, /* The expression to be checked */
114456 const Expr *pNN, /* The expression that is NOT NULL */
114552 const Expr *pE1,
114553 const Expr *pE2,
114577 static void bothImplyNotNullRow(Walker *pWalker, Expr *pE1, Expr *pE2){
114600 static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){
114681 Expr *pLeft = pExpr->pLeft;
114682 Expr *pRight = pExpr->pRight;
114731 SQLITE_PRIVATE int sqlite3ExprImpliesNonNullRow(Expr *p, int iTab, int isRJ){
114770 static int exprIdxCover(Walker *pWalker, Expr *pExpr){
114792 Expr *pExpr, /* The index to be tested */
114863 static int exprRefToSrcList(Walker *pWalker, Expr *pExpr){
114900 SQLITE_PRIVATE int sqlite3ReferencesSrcList(Parse *pParse, Expr *pExpr, SrcList *pSrcList){
114947 static int agginfoPersistExprCb(Walker *pWalker, Expr *pExpr){
115035 Expr *pExpr /* Expr describing the column to find or insert */
115070 Expr *pE = pTerm->pExpr;
115098 static int analyzeAggregate(Walker *pWalker, Expr *pExpr){
115110 Expr tmp;
115254 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext *pNC, Expr *pExpr){
115731 Expr *pDflt; /* Default value for the new column */
116225 static int renameUnmapExprCb(Walker *pWalker, Expr *pExpr){
116323 SQLITE_PRIVATE void sqlite3RenameExprUnmap(Parse *pParse, Expr *pExpr){
116424 static int renameColumnExprCb(Walker *pWalker, Expr *pExpr){
116988 Expr *pExpr = sqlite3ColumnExpr(sParse.pNewTable,
117067 static int renameTableExprCb(Walker *pWalker, Expr *pExpr){
117277 static int renameQuotefixExprCb(Walker *pWalker, Expr *pExpr){
119761 static int resolveAttachExpr(NameContext *pName, Expr *pExpr)
120072 Expr *pAuthArg, /* Expression to pass to authorization callback */
120073 Expr *pFilename, /* Name of database file */
120074 Expr *pDbname, /* Name of the database to use internally */
120075 Expr *pKey /* Database key for encryption extension */
120142 SQLITE_PRIVATE void sqlite3Detach(Parse *pParse, Expr *pDbname){
120162 SQLITE_PRIVATE void sqlite3Attach(Parse *pParse, Expr *p, Expr *pDbname, Expr *pKey){
120181 static int fixExprCb(Walker *p, Expr *pExpr){
120305 Expr *pExpr /* The expression to be fixed to one database */
120488 Expr *pExpr, /* The expression to check authorization on */
121316 Expr *pExpr /* The new default expression */
121338 SQLITE_PRIVATE Expr *sqlite3ColumnExpr(Table *pTab, Column *pCol){
122348 Expr *pExpr, /* The parsed expression of the default value */
122372 Expr x, *pDfltExpr;
122405 static void sqlite3StringToId(Expr *p){
122472 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[i].pExpr);
122495 Expr *pCExpr = sqlite3ExprSkipCollate(pList->a[0].pExpr);
122525 Expr *pCheckExpr, /* The check expression */
122590 SQLITE_PRIVATE void sqlite3AddGenerated(Parse *pParse, Expr *pExpr, Token *pType){
123202 static int markImmutableExprStep(Walker *pWalker, Expr *pExpr){
123364 Expr *pX = sqlite3ColumnExpr(p, &p->aCol[ii]);
124545 Expr *pPIWhere, /* WHERE clause for partial indices */
124752 Expr *pExpr = pList->a[i].pExpr;
124812 Expr *pCExpr; /* The i-th index expression */
127010 Expr *pWhere, /* Optional WHERE clause to be added */
127012 Expr *pLimit, /* Optional LIMIT clause */
127046 SQLITE_PRIVATE Expr *sqlite3LimitWhere(
127049 Expr *pWhere, /* The WHERE clause. May be null */
127051 Expr *pLimit, /* The LIMIT clause. May be null */
127055 Expr *pLhs = NULL; /* LHS of IN(SELECT...) operator */
127056 Expr *pInClause = NULL; /* WHERE rowid IN ( select ) */
127106 Expr *p;
127155 Expr *pWhere, /* The WHERE clause. May be null */
127157 Expr *pLimit /* LIMIT clause. May be null */
130172 SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocase, char *aWc){
130203 Expr *pEscape = pExpr->x.pList->a[2].pExpr;
131126 static Expr *exprTableRegister(
131132 Expr *pExpr;
131158 static Expr *exprTableColumn(
131164 Expr *pExpr = sqlite3Expr(db, TK_COLUMN, 0);
131214 Expr *pWhere = 0; /* WHERE clause to scan with */
131239 Expr *pLeft; /* Value from parent table row */
131240 Expr *pRight; /* Column ref to child table */
131241 Expr *pEq; /* Expression (pLeft = pRight) */
131270 Expr *pNe; /* Expression (pLeft != pRight) */
131271 Expr *pLeft; /* Value from parent table row */
131272 Expr *pRight; /* Column ref to child table */
131278 Expr *pEq, *pAll = 0;
131894 Expr *pWhere = 0; /* WHERE clause of trigger step */
131898 Expr *pWhen = 0; /* WHEN clause for the trigger */
131909 Expr *pEq; /* tFromCol = OLD.tToCol */
131949 Expr *pNew;
131956 Expr *pDflt;
131984 Expr *pRaise;
132406 static int exprColumnFlagUnion(Walker *pWalker, Expr *pExpr){
133348 Expr *pX = pList->a[k].pExpr;
133431 Expr *pIpk = pList->a[ipkColumn].pExpr;
133604 static int checkConstraintExprNode(Walker *pWalker, Expr *pExpr){
133634 Expr *pExpr, /* The expression to be checked */
133985 Expr *pCopy;
133986 Expr *pExpr = pCheck->a[i].pExpr;
135088 Expr *pDestExpr = sqlite3ColumnExpr(pDest, pDestCol);
135089 Expr *pSrcExpr = sqlite3ColumnExpr(pSrc, pSrcCol);
138946 const Expr *pColExpr;
141914 Expr *pWhere, /* the WHERE clause */
141916 Expr *pHaving, /* the HAVING clause */
141919 Expr *pLimit /* LIMIT value. NULL means not used */
142198 SQLITE_PRIVATE void sqlite3SetJoinExpr(Expr *p, int iTable, u32 joinFlag){
142233 static void unsetJoinExpr(Expr *p, int iTable, int nullable){
142342 Expr *pE1; /* Reference to the column on the LEFT of the join */
142343 Expr *pE2; /* Reference to the column on the RIGHT of the join */
142344 Expr *pEq; /* Equality constraint. pE1 == pE2 */
142830 Expr *pExpr = pItem->pExpr;
142855 Expr *pNew = sqlite3PExpr(pParse, TK_COLUMN, 0, 0);
143674 Expr *pExpr
143676 Expr *pExpr,
143751 Expr *p = pS->pEList->a[iCol].pExpr;
143794 Expr *p;
143835 Expr *p = pEList->a[i].pExpr;
143915 Expr *p = pEList->a[i].pExpr;
144013 Expr *pColExpr = sqlite3ExprSkipCollateAndLikely(pX->pExpr);
144104 Expr *p;
144257 Expr *pLimit = p->pLimit;
144344 Expr *pTerm = pItem->pExpr;
144422 Expr *pLimit; /* Saved LIMIT and OFFSET */
144768 Expr *pLimit; /* Saved values of p->nLimit */
144858 Expr *pLimit;
145314 Expr *pNew = sqlite3Expr(db, TK_INTEGER, 0);
145621 static Expr *substExpr(
145623 Expr *pExpr /* Expr in which substitution occurs */
145642 Expr *pNew;
145644 Expr *pCopy;
145645 Expr ifNullRow;
145770 static int recomputeColumnsUsedExpr(Walker *pWalker, Expr *pExpr){
145846 static int renumberCursorsCb(Walker *pWalker, Expr *pExpr){
146121 Expr *pWhere; /* The WHERE clause */
146321 Expr *pLimit = p->pLimit;
146544 Expr **apExpr; /* [i*2] is COLUMN and [i*2+1] is VALUE */
146557 Expr *pColumn, /* The COLUMN part of the constraint */
146558 Expr *pValue, /* The VALUE part of the constraint */
146559 Expr *pExpr /* Overall expression: COLUMN=VALUE or VALUE=COLUMN */
146574 const Expr *pE2 = pConst->apExpr[i*2];
146588 pConst->nConst*2*sizeof(Expr*));
146603 static void findConstInWhere(WhereConst *pConst, Expr *pExpr){
146604 Expr *pRight, *pLeft;
146640 Expr *pExpr,
146653 Expr *pColumn = pConst->apExpr[i*2];
146688 static int propagateConstantExprRewrite(Walker *pWalker, Expr *pExpr){
146821 static int pushDownWindowCheck(Parse *pParse, Select *pSubq, Expr *pExpr){
146925 Expr *pWhere, /* The WHERE clause of the outer query */
146929 Expr *pNew;
147123 Expr *pY = pX->pEList->a[j].pExpr;
147151 static u8 minMaxQuery(sqlite3 *db, Expr *pFunc, ExprList **ppMinMax){
147208 Expr *pExpr;
147723 Expr *pE, *pRight, *pExpr;
148022 Expr *pLeft;
148276 Expr *pExpr = pAggInfo->aFunc[i].pFExpr;
148344 static int aggregateIdxEprRefToColCallback(Walker *pWalker, Expr *pExpr){
148425 Expr *pE = pFunc->pFExpr;
148578 Expr *pFilter = pF->pFExpr->y.pWin->pFilter;
148743 static int havingToWhereExprCb(Walker *pWalker, Expr *pExpr){
148758 Expr *pNew = sqlite3Expr(db, TK_INTEGER, "1");
148760 Expr *pWhere = pS->pWhere;
148761 SWAP(Expr, *pNew, *pExpr);
148875 Expr *pExpr;
148876 Expr *pCount;
148915 Expr *pTerm;
149055 Expr *pWhere; /* The WHERE clause. May be NULL */
149057 Expr *pHaving; /* The HAVING clause. May be NULL */
149898 Expr *pExpr = pAggInfo->aFunc[0].pFExpr->x.pList->a[0].pExpr;
150334 Expr *pExpr = pAggInfo->aCol[i].pCExpr;
150340 Expr *pExpr = pAggInfo->aFunc[i].pFExpr;
150671 Expr *pWhen, /* WHEN clause */
151101 Expr *pWhere, /* The WHERE clause */
151139 Expr *pWhere, /* The WHERE clause */
151458 Expr *pTerm /* A term in the RETURNING clause */
151486 Expr *pOldExpr = pList->a[i].pExpr;
151491 Expr *pNewExpr;
151502 Expr *pNewExpr = sqlite3ExprDup(db, pOldExpr, 0);
151579 Expr *pCol = pNew->a[i].pExpr;
151731 Expr *pWhen = 0; /* Duplicate of trigger WHEN expression */
152077 Expr *pRowidExpr, /* Expression used to recompute the rowid */
152079 Expr *pWhere, /* WHERE clause of the UPDATE statement */
152196 static Expr *exprRowColumn(Parse *pParse, int iCol){
152197 Expr *pRet = sqlite3PExpr(pParse, TK_ROW, 0, 0);
152246 Expr *pWhere, /* WHERE clause for query */
152248 Expr *pLimit /* LIMIT clause */
152255 Expr *pLimit2 = 0;
152260 Expr *pWhere2;
152287 Expr *pNew = exprRowColumn(pParse, pPk->aiColumn[i]);
152342 Expr *pWhere, /* The WHERE clause. May be null */
152345 Expr *pLimit, /* LIMIT clause. May be null */
152369 Expr *pRowidExpr = 0; /* Expression defining the new record number */
153257 Expr *pRowid, /* Expression used to recompute the rowid */
153259 Expr *pWhere, /* WHERE clause of the UPDATE statement */
153287 Expr *pRow;
153315 Expr *pRowExpr = exprRowColumn(pParse, i);
153479 Expr *pTargetWhere, /* Optional WHERE clause on the target */
153481 Expr *pWhere, /* WHERE clause for the ON CONFLICT UPDATE */
153521 Expr *pTerm; /* One term of the conflict-target clause */
153523 Expr sCol[2]; /* Index column converted into an Expr */
153585 Expr *pExpr;
153845 SQLITE_PRIVATE void sqlite3Vacuum(Parse *pParse, Token *pNm, Expr *pInto){
155289 Expr *pExpr /* First argument to the function */
155802 Expr *pExpr; /* Pointer to the subexpression that is this term */
155855 Expr *pIdxExpr; /* Search for this index expression */
156002 Expr *pWhere; /* The complete WHERE clause */
156096 SQLITE_PRIVATE void sqlite3WhereSplit(WhereClause*,Expr*,u8);
156098 SQLITE_PRIVATE Bitmask sqlite3WhereExprUsage(WhereMaskSet*, Expr*);
156099 SQLITE_PRIVATE Bitmask sqlite3WhereExprUsageNN(WhereMaskSet*, Expr*);
156603 Expr *pRight, /* RHS of comparison */
156609 Expr *p = sqlite3VectorFieldSubexpr(pRight, i);
156648 static Expr *removeUnindexableInClauseTerms(
156652 Expr *pX /* The IN expression to be reduced */
156656 Expr *pNew;
156698 Expr *p = pLhs->a[0].pExpr;
156752 Expr *pX = pTerm->pExpr;
156799 Expr *pExpr = pTerm->pExpr;
157032 Expr *pRight = pTerm->pExpr->pRight;
157108 static int codeCursorHintCheckExpr(Walker *pWalker, Expr *pExpr){
157135 static int codeCursorHintIsOrFunction(Walker *pWalker, Expr *pExpr){
157170 static int codeCursorHintFixExpr(Walker *pWalker, Expr *pExpr){
157210 Expr *pExpr = 0;
157257 Expr *pExpr = pTerm->pExpr;
157375 static void codeExprOrVector(Parse *pParse, Expr *p, int iReg, int nReg){
157411 Expr *pTruth,
157422 Expr *pExpr;
157620 Expr *pRight = pTerm->pExpr->pRight;
157658 Expr *pCompare; /* The comparison operator */
157659 Expr *pRight; /* RHS of the comparison */
157685 Expr *pLeft = pTerm->pExpr->pLeft;
157768 Expr *pX; /* The expression that defines the start bound */
157820 Expr *pX;
158028 Expr *pRight = pRangeStart->pExpr->pRight;
158129 Expr *pRight = pRangeEnd->pExpr->pRight;
158316 Expr *pAndExpr = 0; /* An ".. AND (...)" expression */
158406 Expr *pExpr = pWC->a[iTerm].pExpr;
158438 Expr *pOrExpr = pOrTerm->pExpr; /* Current OR clause term */
158439 Expr *pDelete; /* Local copy of OR clause term */
158637 Expr *pE;
158718 Expr *pE, sEAlt;
158868 Expr *pSubWhere = 0;
159007 static int whereClauseInsert(WhereClause *pWC, Expr *p, u16 wtFlags){
159058 static u16 exprCommute(Parse *pParse, Expr *pExpr){
159066 SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
159121 Expr *pExpr, /* Test this expression */
159122 Expr **ppPrefix, /* Pointer to TK_STRING expression with pattern prefix */
159127 Expr *pRight, *pLeft; /* Right and left size of LIKE operator */
159180 Expr *pPrefix;
159300 Expr *pExpr, /* Test this expression */
159302 Expr **ppLeft, /* Column expression to left of MATCH/op2 */
159303 Expr **ppRight /* Expression to left of MATCH/op2 */
159316 Expr *pCol; /* Column reference */
159381 Expr *pLeft = pExpr->pLeft;
159382 Expr *pRight = pExpr->pRight;
159391 SWAP(Expr*, pLeft, pRight);
159408 static void transferJoinMarkings(Expr *pDerived, Expr *pBase){
159467 Expr *pNew; /* New virtual expression */
159595 Expr *pExpr = pTerm->pExpr; /* The expression of the term */
159737 Expr *pLeft = 0;
159809 Expr *pDup; /* A transient duplicate expression */
159811 Expr *pLeft = 0; /* The LHS of the IN operator */
159812 Expr *pNew; /* The complete IN operator */
159860 static int termIsEquivalence(Parse *pParse, Expr *pExpr){
159925 Expr *pExpr, /* An operand of a comparison operator */
159953 Expr *pExpr, /* An operand of a comparison operator */
160013 Expr *pExpr; /* The expression to be analyzed */
160017 Expr *pStr1 = 0; /* RHS of LIKE/GLOB operator */
160098 Expr *pLeft = sqlite3ExprSkipCollate(pExpr->pLeft);
160099 Expr *pRight = sqlite3ExprSkipCollate(pExpr->pRight);
160121 Expr *pDup;
160194 Expr *pNewExpr;
160230 Expr *pNewExpr;
160231 Expr *pLeft = pExpr->pLeft;
160274 Expr *pLeft; /* LHS of LIKE/GLOB operator */
160275 Expr *pStr2; /* Copy of pStr1 - RHS of LIKE/GLOB operator */
160276 Expr *pNewExpr1;
160277 Expr *pNewExpr2;
160365 Expr *pNew;
160366 Expr *pLeft = sqlite3ExprForVectorField(pParse, pExpr->pLeft, i, nLeft);
160367 Expr *pRight = sqlite3ExprForVectorField(pParse, pExpr->pRight, i, nLeft);
160419 Expr *pRight = 0, *pLeft = 0;
160429 Expr *pNewExpr;
160449 SWAP(Expr*, pLeft, pRight);
160484 SQLITE_PRIVATE void sqlite3WhereSplit(WhereClause *pWC, Expr *pExpr, u8 op){
160485 Expr *pE2 = sqlite3ExprSkipCollateAndLikely(pExpr);
160511 Expr *pExpr, /* Expression that defines the limit/offset */
160517 Expr *pNew;
160521 Expr *pVal = sqlite3Expr(db, TK_INTEGER, 0);
160527 Expr *pVal = sqlite3Expr(db, TK_REGISTER, 0);
160593 Expr *pExpr = pOrderBy->a[ii].pExpr;
160699 Expr *p
160723 SQLITE_PRIVATE Bitmask sqlite3WhereExprUsageNN(WhereMaskSet *pMaskSet, Expr *p){
160732 SQLITE_PRIVATE Bitmask sqlite3WhereExprUsage(WhereMaskSet *pMaskSet, Expr *p){
160780 Expr *pColRef;
160781 Expr *pTerm;
160788 Expr *pRhs;
161117 static Expr *whereRightSubexprIsColumn(Expr *p){
161133 Expr *pX; /* An expression being tested */
161365 Expr *p = sqlite3ExprSkipCollateAndLikely(pList->a[i].pExpr);
161430 Expr *p = sqlite3ExprSkipCollateAndLikely(pDistinct->a[i].pExpr);
161726 Expr *pPartial = 0; /* Partial Index Expression */
161752 Expr *pExpr = pTerm->pExpr;
161831 Expr *pX = pTerm->pExpr;
162024 Expr *pExpr = pTerm->pExpr;
162148 Expr *pExpr = pOrderBy->a[i].pExpr;
162149 Expr *pE2;
162263 Expr *pExpr = pOrderBy->a[i].pExpr;
162804 Expr *pExpr = pLower->pExpr->pRight;
162821 Expr *pExpr = pUpper->pExpr->pRight;
162913 Expr *pExpr, /* Expression for VALUE in the x=VALUE constraint */
163641 Expr *pRight = pTerm->pExpr->pRight;
163696 Expr *pLhs, *pRhs;
163867 Expr *pExpr = pTerm->pExpr;
164013 Expr *pExpr = pTerm->pExpr;
164183 Expr *pExpr = sqlite3ExprSkipCollateAndLikely(pOB->a[ii].pExpr);
164209 Expr *pWhere /* The WHERE clause from the partial index */
164223 Expr *pExpr;
164241 const Expr *pExpr,
164284 static int whereIsCoveringIndexWalkCallback(Walker *pWalk, Expr *pExpr){
164423 Expr *pPart, /* WHERE clause being processed */
164437 Expr *pLeft = pPart->pLeft;
164438 Expr *pRight = pPart->pRight;
165032 Expr *pX = pHidden->pWC->a[iTerm].pExpr;
165534 Expr *pOBExpr; /* An expression from the ORDER BY clause */
165695 Expr *pX = pLoop->aLTerm[j]->pExpr;
165749 Expr *pIxExpr = pIndex->aColExpr->a[j].pExpr;
165811 Expr *p;
166445 static int exprNodeIsDeterministic(Walker *pWalker, Expr *pExpr){
166458 static int exprIsDeterministic(Expr *p){
166671 Expr *pExpr;
166842 Expr *pWhere, /* The WHERE clause */
167032 Expr *pX; /* The expression of pT */
168601 static int selectWindowRewriteExprCb(Walker *pWalker, Expr *pExpr){
168656 Expr *pDup = sqlite3ExprDup(pParse->db, pExpr, 0);
168666 memset(pExpr, 0, sizeof(Expr));
168756 Expr *pDup = sqlite3ExprDup(db, pAppend->a[i].pExpr, 0);
168763 Expr *pSub;
168786 static int sqlite3WindowExtraAggFuncDepth(Walker *pWalker, Expr *pExpr){
168795 static int disallowAggregatesInOrderByCb(Walker *pWalker, Expr *pExpr){
168822 Expr *pWhere = p->pWhere;
168824 Expr *pHaving = p->pHaving;
168903 Expr *pFilter = sqlite3ExprDup(db, pWin->pFilter, 0);
169019 static Expr *sqlite3WindowOffsetExpr(Parse *pParse, Expr *pExpr){
169035 Expr *pStart, /* Start window size if TK_PRECEDING or FOLLOWING */
169037 Expr *pEnd, /* End window size if TK_FOLLOWING or PRECEDING */
169164 SQLITE_PRIVATE void sqlite3WindowAttach(Parse *pParse, Expr *p, Window *pWin){
170231 SQLITE_PRIVATE Window *sqlite3WindowDup(sqlite3 *db, Expr *pOwner, Window *p){
170286 static int windowExprGtZero(Parse *pParse, Expr *pExpr){
171032 struct FrameBound { int eType; Expr *pExpr; };
171053 Expr *pLimit
171114 static Expr *tokenExpr(Parse *pParse, int op, Token t){
171115 Expr *p = sqlite3DbMallocRawNN(pParse->db, sizeof(Expr)+t.n+1);
171141 return (Expr*)sqlite3RenameTokenMap(pParse, (void*)p, &t);
171150 static void binaryToUnaryIfNull(Parse *pParse, Expr *pY, Expr *pA, int op){
171454 Expr* yy528;
174699 Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy528, 0);
174705 Expr *p = tokenExpr(pParse, TK_STRING, yymsp[0].minor.yy0);
174952 Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0);
174959 Expr *pRight, *pLeft, *pDot;
175268 Expr *temp1 = tokenExpr(pParse,TK_ID,yymsp[-2].minor.yy0);
175269 Expr *temp2 = tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0);
175276 Expr *temp1 = tokenExpr(pParse,TK_ID,yymsp[-4].minor.yy0);
175277 Expr *temp2 = tokenExpr(pParse,TK_ID,yymsp[-2].minor.yy0);
175278 Expr *temp3 = tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0);
175279 Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3);
175512 Expr *pRHS = yymsp[-1].minor.yy322->a[0].pExpr;
175568 Expr *p;