Lines Matching defs:Expr

8132 typedef struct Expr Expr;
10009 Expr *pDflt; /* Default value of this column */
10189 Expr *pCheck; /* The AND of all CHECK constraints */
10428 ** If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a
10429 ** pointer to this structure. The Expr.iColumn field is the index in
10452 Expr *pExpr; /* The original expression */
10459 Expr *pExpr; /* Expression encoding the function */
10471 ** it uses less memory in the Expr object, which is a big memory user
10487 ** Expr.op is the opcode. The integer parser token codes are reused
10494 ** or TK_STRING), then Expr.token contains the text of the SQL literal. If
10495 ** the expression is a variable (TK_VARIABLE), then Expr.token contains the
10497 ** then Expr.token contains the name of the function.
10499 ** Expr.pRight and Expr.pLeft are the left and right subexpressions of a
10502 ** Expr.x.pList is a list of arguments if the expression is an SQL function,
10504 ** Expr.x.pSelect is used if the expression is a sub-select or an expression of
10506 ** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
10510 ** For such expressions, Expr.op is set to TK_COLUMN and Expr.iTable is
10512 ** Expr.iColumn is the column number for the specific column. If the
10514 ** value is also stored in the Expr.iAgg column in the aggregate so that
10518 ** character '?' in the original SQL) then the Expr.iTable holds the index
10521 ** If the expression is a subquery then Expr.iColumn holds an integer
10527 ** If the Expr is of type OP_Column, and the table it is selecting from
10533 ** Expr objects can use a lot of memory space in database schema. To
10534 ** help reduce memory requirements, sometimes an Expr object will be
10536 ** two or more Expr objects will be stored in a single memory allocation,
10537 ** together with Expr.zToken strings.
10540 ** an Expr object is truncated. When EP_Reduced is set, then all
10541 ** the child Expr objects in the Expr.pLeft and Expr.pRight subtrees
10543 ** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
10546 struct Expr {
10555 /* If the EP_TokenOnly flag is set in the Expr.flags mask, then no
10560 Expr *pLeft; /* Left subnode */
10561 Expr *pRight; /* Right subnode */
10568 /* If the EP_Reduced flag is set in the Expr.flags mask, then no
10581 u8 op2; /* If a TK_REGISTER, the original value of Expr.op */
10590 ** The following are the meanings of bits in the Expr.flags field.
10605 #define EP_Reduced 0x2000 /* Expr struct is EXPR_REDUCEDSIZE bytes only */
10606 #define EP_TokenOnly 0x4000 /* Expr struct is EXPR_TOKENONLYSIZE bytes only */
10610 ** The following are the meanings of bits in the Expr.flags2 field.
10612 #define EP2_MallocedToken 0x0001 /* Need to sqlite3DbFree() Expr.zToken */
10613 #define EP2_Irreducible 0x0002 /* Cannot EXPRDUP_REDUCE this Expr */
10629 ** Expr.flags field.
10637 ** Macros to determine the number of bytes required by a normal Expr
10638 ** struct, an Expr struct with the EP_Reduced flag set in Expr.flags
10639 ** and an Expr struct with the EP_TokenOnly flag set.
10641 #define EXPR_FULLSIZE sizeof(Expr) /* Full size */
10642 #define EXPR_REDUCEDSIZE offsetof(Expr,iTable) /* Common features */
10643 #define EXPR_TOKENONLYSIZE offsetof(Expr,pLeft) /* Fewer features */
10649 #define EXPRDUP_REDUCE 0x0001 /* Used reduced-size Expr nodes */
10663 Expr *pExpr; /* The list of expressions */
10679 Expr *pExpr; /* The expression parse tree */
10758 Expr *pOn; /* The ON clause of a join */
10952 Expr *pWhere; /* The WHERE clause */
10954 Expr *pHaving; /* The HAVING clause */
10959 Expr *pLimit; /* LIMIT expression. NULL means not used. */
10960 Expr *pOffset; /* OFFSET expression. NULL means not used. */
11220 Expr *pWhen; /* The WHEN clause of the expression (may be NULL) */
11283 Expr *pWhere; /* The WHERE clause for DELETE or UPDATE steps */
11375 int (*xExprCallback)(Walker*, Expr*); /* Callback for expressions */
11385 SQLITE_PRIVATE int sqlite3WalkExpr(Walker*, Expr*);
11561 SQLITE_PRIVATE void sqlite3ExplainExpr(Vdbe*, Expr*);
11585 SQLITE_PRIVATE Expr *sqlite3ExprAlloc(sqlite3*,int,const Token*,int);
11586 SQLITE_PRIVATE Expr *sqlite3Expr(sqlite3*,int,const char*);
11587 SQLITE_PRIVATE void sqlite3ExprAttachSubtrees(sqlite3*,Expr*,Expr*,Expr*);
11588 SQLITE_PRIVATE Expr *sqlite3PExpr(Parse*, int, Expr*, Expr*, const Token*);
11589 SQLITE_PRIVATE Expr *sqlite3ExprAnd(sqlite3*,Expr*, Expr*);
11590 SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse*,ExprList*, Token*);
11591 SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse*, Expr*);
11592 SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3*, Expr*);
11593 SQLITE_PRIVATE ExprList *sqlite3ExprListAppend(Parse*,ExprList*,Expr*);
11609 SQLITE_PRIVATE void sqlite3AddCheckConstraint(Parse*, Expr*);
11658 Token*, Select*, Expr*, IdList*);
11669 SQLITE_PRIVATE Select *sqlite3SelectNew(Parse*,ExprList*,SrcList*,Expr*,ExprList*,
11670 Expr*,ExprList*,int,Expr*,Expr*);
11676 SQLITE_PRIVATE Expr *sqlite3LimitWhere(Parse *, SrcList *, Expr *, ExprList *, Expr *, Expr *, char *);
11678 SQLITE_PRIVATE void sqlite3DeleteFrom(Parse*, SrcList*, Expr*);
11679 SQLITE_PRIVATE void sqlite3Update(Parse*, SrcList*, ExprList*, Expr*, int);
11680 SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin(Parse*, SrcList*, Expr*, ExprList**,ExprList*,u16);
11692 SQLITE_PRIVATE int sqlite3ExprCode(Parse*, Expr*, int);
11693 SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse*, Expr*, int*);
11694 SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse*, Expr*, int);
11695 SQLITE_PRIVATE int sqlite3ExprCodeAndCache(Parse*, Expr*, int);
11696 SQLITE_PRIVATE void sqlite3ExprCodeConstants(Parse*, Expr*);
11698 SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse*, Expr*, int, int);
11699 SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse*, Expr*, int, int);
11708 SQLITE_PRIVATE int sqlite3ExprCompare(Expr*, Expr*);
11710 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext*, Expr*);
11724 SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr*);
11725 SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr*);
11726 SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr*);
11727 SQLITE_PRIVATE int sqlite3ExprIsInteger(Expr*, int*);
11728 SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr*);
11729 SQLITE_PRIVATE void sqlite3ExprCodeIsNullJump(Vdbe*, const Expr*, int, int);
11730 SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr*, char);
11743 SQLITE_PRIVATE Expr *sqlite3ExprDup(sqlite3*,Expr*,int);
11758 SQLITE_PRIVATE void sqlite3MaterializeView(Parse*, Table*, Expr*, int);
11763 Expr*,int, int);
11772 void sqliteViewTriggers(Parse*, Table*, Expr*, int, ExprList*);
11777 SQLITE_PRIVATE TriggerStep *sqlite3TriggerUpdateStep(sqlite3*,Token*,ExprList*, Expr*, u8);
11778 SQLITE_PRIVATE TriggerStep *sqlite3TriggerDeleteStep(sqlite3*,Token*, Expr*);
11799 SQLITE_PRIVATE void sqlite3AuthRead(Parse*,Expr*,Schema*,SrcList*);
11810 SQLITE_PRIVATE void sqlite3Attach(Parse*, Expr*, Expr*, Expr*);
11811 SQLITE_PRIVATE void sqlite3Detach(Parse*, Expr*);
11815 SQLITE_PRIVATE int sqlite3FixExpr(DbFixer*, Expr*);
11863 SQLITE_PRIVATE char sqlite3CompareAffinity(Expr *pExpr, char aff2);
11864 SQLITE_PRIVATE int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity);
11865 SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr);
11875 SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr);
11876 SQLITE_PRIVATE Expr *sqlite3ExprSetColl(Expr*, CollSeq*);
11877 SQLITE_PRIVATE Expr *sqlite3ExprSetCollByToken(Parse *pParse, Expr*, Token*);
11902 SQLITE_PRIVATE int sqlite3ValueFromExpr(sqlite3 *, Expr *, u8, u8, sqlite3_value **);
11922 SQLITE_PRIVATE int sqlite3CodeSubselect(Parse *, Expr *, int, int);
11924 SQLITE_PRIVATE int sqlite3ResolveExprNames(NameContext*, Expr*);
11940 SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3*,Expr*,int*,char*);
11960 SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *, SrcList *, int, int);
12024 SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction(sqlite3 *,FuncDef*, int nArg, Expr*);
12030 SQLITE_PRIVATE CollSeq *sqlite3BinaryCompareCollSeq(Parse *, Expr *, Expr *);
12086 SQLITE_PRIVATE int sqlite3FindInIndex(Parse *, Expr *, int*);
12101 SQLITE_PRIVATE void sqlite3ExprSetHeight(Parse *pParse, Expr *p);
59379 Expr *pExpr, /* The expression to evaluate */
73078 SQLITE_PRIVATE int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){
73229 Expr *pExpr, /* Transform this into an alias to the result set */
73232 Expr *pOrig; /* The iCol-th column of the result set */
73233 Expr *pDup; /* Copy of pOrig */
73269 ** prevents ExprDelete() from deleting the Expr structure itself,
73329 Expr *pExpr /* Make this EXPR node point to the selected column */
73486 Expr *pOrig;
73591 SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *db, SrcList *pSrc, int iSrc, int iCol){
73592 Expr *p = sqlite3ExprAlloc(db, TK_COLUMN, 0, 0);
73621 static int resolveExprStep(Walker *pWalker, Expr *pExpr){
73675 Expr *pRight;
73808 Expr *pE /* Expression we are trying to match */
73847 Expr *pE /* The specific ORDER BY term */
73951 Expr *pE, *pDup;
74073 Expr *pE = pItem->pExpr;
74170 Expr *pX = pEList->a[i].pExpr;
74307 ** Expr.op Changed to TK_COLUMN
74308 ** Expr.pTab Points to the Table object for X.Y
74309 ** Expr.iColumn The column index in X.Y. -1 for the rowid.
74310 ** Expr.iTable The VDBE cursor number for X.Y
74338 Expr *pExpr /* The expression to be analyzed. */
74435 SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr){
74464 SQLITE_PRIVATE Expr *sqlite3ExprSetColl(Expr *pExpr, CollSeq *pColl){
74479 SQLITE_PRIVATE Expr *sqlite3ExprSetCollByToken(Parse *pParse, Expr *pExpr, Token *pCollName){
74494 SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr){
74496 Expr *p = pExpr;
74533 SQLITE_PRIVATE char sqlite3CompareAffinity(Expr *pExpr, char aff2){
74560 static char comparisonAffinity(Expr *pExpr){
74583 SQLITE_PRIVATE int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity){
74599 static u8 binaryCompareP5(Expr *pExpr1, Expr *pExpr2, int jumpIfNull){
74619 Expr *pLeft,
74620 Expr *pRight
74644 Expr *pLeft, /* The left operand */
74645 Expr *pRight, /* The right operand */
74690 static void heightOfExpr(Expr *p, int *pnHeight){
74719 ** Set the Expr.nHeight variable in the structure passed as an
74720 ** argument. An expression with no children, Expr.pList or
74721 ** Expr.pSelect member has a height of 1. Any other expression
74723 ** referenced Expr plus one.
74725 static void exprSetHeight(Expr *p){
74738 ** Set the Expr.nHeight variable using the exprSetHeight() function. If
74742 SQLITE_PRIVATE void sqlite3ExprSetHeight(Parse *pParse, Expr *p){
74761 ** This routine is the core allocator for Expr nodes.
74780 SQLITE_PRIVATE Expr *sqlite3ExprAlloc(
74786 Expr *pNew;
74797 pNew = sqlite3DbMallocZero(db, sizeof(Expr)+nExtra);
74829 SQLITE_PRIVATE Expr *sqlite3Expr(
74841 ** Attach subtrees pLeft and pRight to the Expr node pRoot.
74848 Expr *pRoot,
74849 Expr *pLeft,
74850 Expr *pRight
74876 ** Allocate a Expr node which joins as many as two subtrees.
74879 ** Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed,
74882 SQLITE_PRIVATE Expr *sqlite3PExpr(
74885 Expr *pLeft, /* Left operand */
74886 Expr *pRight, /* Right operand */
74889 Expr *p = sqlite3ExprAlloc(pParse->db, op, pToken, 1);
74901 SQLITE_PRIVATE Expr *sqlite3ExprAnd(sqlite3 *db, Expr *pLeft, Expr *pRight){
74907 Expr *pNew = sqlite3ExprAlloc(db, TK_AND, 0, 0);
74917 SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token *pToken){
74918 Expr *pNew;
74948 SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr){
75019 SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3 *db, Expr *p){
75045 static int exprStructSize(Expr *p){
75056 ** dupedExprStructSize() Size of only the Expr structure
75057 ** dupedExprNodeSize() Size of Expr + space for token
75058 ** dupedExprSize() Expr + token + subtree components
75063 ** (1) the space required for a copy of the Expr structure only and
75076 ** (unreduced) Expr objects as they or originally constructed by the parser.
75078 ** later parts of teh Expr object and that extra information might get chopped
75085 static int dupedExprStructSize(Expr *p, int flags){
75106 ** of the Expr structure and a copy of the Expr.u.zToken string (if that
75109 static int dupedExprNodeSize(Expr *p, int flags){
75122 ** The value returned includes space to create a copy of the Expr struct
75123 ** itself and the buffer referred to by Expr.u.zToken, if any.
75126 ** space to duplicate all Expr nodes in the tree formed by Expr.pLeft
75127 ** and Expr.pRight variables (but not for any structures pointed to or
75128 ** descended from the Expr.x.pList or Expr.x.pSelect variables).
75130 static int dupedExprSize(Expr *p, int flags){
75149 static Expr *exprDup(sqlite3 *db, Expr *p, int flags, u8 **pzBuffer){
75150 Expr *pNew = 0; /* Value to return */
75158 /* Figure out where to write the new Expr structure. */
75165 pNew = (Expr *)zAlloc;
75247 ** truncated version of the usual Expr structure that will be stored as
75250 SQLITE_PRIVATE Expr *sqlite3ExprDup(sqlite3 *db, Expr *p, int flags){
75270 Expr *pOldExpr = pOldItem->pExpr;
75393 Expr *pExpr /* Expression to be appended. Might be NULL */
75524 static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){
75561 static int exprIsConst(Expr *p, int initFlag){
75578 SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr *p){
75588 SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr *p){
75601 SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr *p){
75611 SQLITE_PRIVATE int sqlite3ExprIsInteger(Expr *p, int *pValue){
75655 SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr *p){
75680 const Expr *pExpr, /* Only generate OP_IsNull if this expr can be NULL */
75699 SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr *p, char aff){
75846 SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, int *prNotFound){
75863 Expr *pExpr; /* Expression <column> */
75997 Expr *pExpr, /* The IN, SELECT, or EXISTS operator */
76036 Expr *pLeft = pExpr->pLeft; /* the LHS of the IN operator */
76108 Expr *pE2 = pItem->pExpr;
76216 Expr *pExpr, /* The IN expression */
76368 ** Expr.u.zToken is always UTF8 and zero-terminated.
76370 static void codeInteger(Parse *pParse, Expr *pExpr, int negFlag, int iMem){
76681 SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){
76892 Expr *pLeft = pExpr->pLeft;
77079 Expr *pLeft = pExpr->pLeft;
77081 Expr *pRight = pLItem->pExpr;
77110 ** trigger programs. In this case Expr.iTable is set to 1 for the
77111 ** new.* pseudo-table, or 0 for the old.* pseudo-table. Expr.iColumn
77189 Expr opCompare; /* The X==Ei expression */
77190 Expr cacheX; /* Cached expression X */
77191 Expr *pX; /* The X expression */
77192 Expr *pTest = 0; /* X==Ei (form A) or just Ei (form B) */
77289 SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse *pParse, Expr *pExpr, int *pReg){
77306 SQLITE_PRIVATE int sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){
77334 SQLITE_PRIVATE int sqlite3ExprCodeAndCache(Parse *pParse, Expr *pExpr, int target){
77360 SQLITE_PRIVATE void sqlite3ExplainExpr(Vdbe *pOut, Expr *pExpr){
77528 Expr *pX = pExpr->pLeft;
77529 Expr *pY = pExpr->x.pList->a[0].pExpr;
77530 Expr *pZ = pExpr->x.pList->a[1].pExpr;
77543 ** trigger programs. In this case Expr.iTable is set to 1 for the
77544 ** new.* pseudo-table, or 0 for the old.* pseudo-table. Expr.iColumn
77631 static int isAppropriateForFactoring(Expr *p){
77679 static int evalConstExpr(Walker *pWalker, Expr *pExpr){
77734 SQLITE_PRIVATE void sqlite3ExprCodeConstants(Parse *pParse, Expr *pExpr){
77764 Expr *pExpr = pItem->pExpr;
77788 Expr *pExpr, /* The BETWEEN expression */
77793 Expr exprAnd; /* The AND operator in x>=y AND x<=z */
77794 Expr compLeft; /* The x>=y term */
77795 Expr compRight; /* The x<=z term */
77796 Expr exprX; /* The x subexpression */
77844 SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){
77964 SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){
78116 SQLITE_PRIVATE int sqlite3ExprCompare(Expr *pA, Expr *pB){
78164 Expr *pExprA = pA->a[i].pExpr;
78165 Expr *pExprB = pB->a[i].pExpr;
78209 static int analyzeAggregate(Walker *pWalker, Expr *pExpr){
78259 Expr *pE = pTerm->pExpr;
78352 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext *pNC, Expr *pExpr){
79073 Expr *pDflt; /* Default value for the new column */
80432 static int resolveAttachExpr(NameContext *pName, Expr *pExpr)
80703 Expr *pAuthArg, /* Expression to pass to authorization callback */
80704 Expr *pFilename, /* Name of database file */
80705 Expr *pDbname, /* Name of the database to use internally */
80706 Expr *pKey /* Database key for encryption extension */
80773 SQLITE_PRIVATE void sqlite3Detach(Parse *pParse, Expr *pDbname){
80795 SQLITE_PRIVATE void sqlite3Attach(Parse *pParse, Expr *p, Expr *pDbname, Expr *pKey){
80903 Expr *pExpr /* The expression to be fixed to one database */
81092 Expr *pExpr, /* The expression to check authorization on */
82408 Expr *pCheckExpr /* The check expression */
82908 ** This will force all the Expr.token.z values to be dynamically
83853 Expr *pExpr = pList->a[i].pExpr;
84536 Expr *pOn, /* The ON clause of a join */
85574 Expr *pWhere, /* Optional WHERE clause to be added */
85613 SQLITE_PRIVATE Expr *sqlite3LimitWhere(
85616 Expr *pWhere, /* The WHERE clause. May be null */
85618 Expr *pLimit, /* The LIMIT clause. May be null */
85619 Expr *pOffset, /* The OFFSET clause. May be null */
85622 Expr *pWhereRowid = NULL; /* WHERE rowid .. */
85623 Expr *pInClause = NULL; /* WHERE rowid IN ( select ) */
85624 Expr *pSelectRowid = NULL; /* SELECT rowid ... */
85707 Expr *pWhere /* The WHERE clause. May be null */
87622 SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocase, char *aWc){
88233 Expr *pWhere = 0; /* WHERE clause to scan with */
88245 /* Create an Expr object representing an SQL expression like:
88254 Expr *pLeft; /* Value from parent table row */
88255 Expr *pRight; /* Column ref to child table */
88256 Expr *pEq; /* Expression (pLeft = pRight) */
88290 Expr *pEq; /* Expression (pLeft = pRight) */
88291 Expr *pLeft; /* Value from parent table row */
88292 Expr *pRight; /* Column ref to child table */
88742 Expr *pWhere = 0; /* WHERE clause of trigger step */
88746 Expr *pWhen = 0; /* WHEN clause for the trigger */
88757 Expr *pEq; /* tFromCol = OLD.tToCol */
88800 Expr *pNew;
88807 Expr *pDflt = pFKey->pFrom->aCol[iFromCol].pDflt;
88827 Expr *pRaise;
94566 Expr *pWhere, /* the WHERE clause */
94568 Expr *pHaving, /* the HAVING clause */
94571 Expr *pLimit, /* LIMIT value. NULL means not used */
94572 Expr *pOffset /* OFFSET value. NULL means no offset */
94761 Expr **ppWhere /* IN/OUT: The WHERE clause to add to */
94764 Expr *pE1;
94765 Expr *pE2;
94766 Expr *pEq;
94788 ** And set the Expr.iRightJoinTable to iTable for every term in the
94798 ** The Expr.iRightJoinTable tells the WHERE clause processing that the
94812 static void setJoinExpr(Expr *p, int iTable){
95516 Expr *pExpr,
95584 Expr *p = pS->pEList->a[iCol].pExpr;
95618 Expr *p = pS->pEList->a[0].pExpr;
95654 Expr *p = pEList->a[i].pExpr;
95705 Expr *p;
95760 ExprList *pEList, /* Expr list from which to derive column names */
95769 Expr *p; /* Expression for a single result column */
95786 Expr *pColExpr = p; /* The expression that is the result column name */
95863 Expr *p;
96188 Expr *pLimit, *pOffset; /* Saved values of p->nLimit and p->nOffset */
96286 Expr *pLimit, *pOffset;
96743 Expr *pNew = sqlite3Expr(db, TK_INTEGER, 0);
96775 Expr *pTerm = pOrderBy->a[i].pExpr;
97036 static Expr *substExpr(
97038 Expr *pExpr, /* Expr in which substitution occurs */
97047 Expr *pNew;
97238 Expr *pWhere; /* The WHERE clause */
97397 Expr *pLimit = p->pLimit;
97437 ** complete, since there may still exist Expr.pTab entries that
97608 Expr *pExpr;
97640 Expr *pExpr;
97804 Expr *pE = pEList->a[k].pExpr;
97823 Expr *pE = a[k].pExpr;
97860 Expr *pExpr, *pRight;
97893 Expr *pLeft;
97939 static int exprWalkNoop(Walker *NotUsed, Expr *NotUsed2){
98073 Expr *pE = pFunc->pExpr;
98277 Expr *pWhere; /* The WHERE clause. May be NULL */
98280 Expr *pHaving; /* The HAVING clause. May be NULL */
99413 Expr *pWhen, /* WHEN clause */
99756 Expr *pWhere, /* The WHERE clause */
99780 Expr *pWhere /* The WHERE clause */
100148 Expr *pWhen = 0; /* Duplicate of trigger WHEN expression */
100475 Expr *pRowidExpr, /* Expression used to recompute the rowid */
100477 Expr *pWhere, /* WHERE clause of the UPDATE statement */
100544 Expr *pWhere, /* The WHERE clause. May be null */
100561 Expr *pRowidExpr = 0; /* Expression defining the new record number */
101055 Expr *pRowid, /* Expression used to recompute the rowid */
101057 Expr *pWhere, /* WHERE clause of the UPDATE statement */
101063 Expr *pExpr; /* Temporary expression */
102409 Expr *pExpr /* First argument to the function */
102638 Expr *pExpr; /* Pointer to the subexpression that is this term */
102721 ** SrcList_item.iCursor and Expr.iTable fields. For any given WHERE
102874 ** The new WhereTerm object is constructed from Expr p and with wtFlags.
102891 static int whereClauseInsert(WhereClause *pWC, Expr *p, u8 wtFlags){
102937 static void whereSplit(WhereClause *pWC, Expr *pExpr, int op){
102990 ** sets their opcodes to TK_COLUMN and their Expr.iTable fields to
102997 static Bitmask exprTableUsage(WhereMaskSet *pMaskSet, Expr *p){
103081 static void exprCommute(Parse *pParse, Expr *pExpr){
103090 SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
103151 Expr *pX = pTerm->pExpr;
103209 Expr *pExpr, /* Test this expression */
103210 Expr **ppPrefix, /* Pointer to TK_STRING expression with pattern prefix */
103215 Expr *pRight, *pLeft; /* Right and left size of LIKE operator */
103262 Expr *pPrefix;
103303 Expr *pExpr /* Test this expression */
103328 static void transferJoinMarkings(Expr *pDerived, Expr *pBase){
103418 Expr *pExpr = pTerm->pExpr; /* The expression of the term */
103607 Expr *pDup; /* A transient duplicate expression */
103609 Expr *pLeft = 0; /* The LHS of the IN operator */
103610 Expr *pNew; /* The complete IN operator */
103670 Expr *pExpr; /* The expression to be analyzed */
103674 Expr *pStr1 = 0; /* RHS of LIKE/GLOB operator */
103713 Expr *pLeft = pExpr->pLeft;
103714 Expr *pRight = pExpr->pRight;
103722 Expr *pDup;
103775 Expr *pNewExpr;
103815 Expr *pLeft; /* LHS of LIKE/GLOB operator */
103816 Expr *pStr2; /* Copy of pStr1 - RHS of LIKE/GLOB operator */
103817 Expr *pNewExpr1;
103818 Expr *pNewExpr2;
103874 Expr *pRight, *pLeft;
103883 Expr *pNewExpr;
103917 Expr *pNewExpr;
103918 Expr *pLeft = pExpr->pLeft;
103989 Expr *p = pList->a[i].pExpr;
104040 Expr *p = pDistinct->a[i].pExpr;
104044 Expr *pX = pTerm->pExpr;
104092 Expr *p = pDistinct->a[i].pExpr;
104181 Expr *pExpr; /* The expression of the ORDER BY pTerm */
104631 Expr *pX = pTerm->pExpr;
104725 Expr *pExpr = pOrderBy->a[i].pExpr;
104782 Expr *pExpr = pOrderBy->a[i].pExpr;
105173 Expr *pExpr,
105248 Expr *pExpr = pLower->pExpr->pRight;
105260 Expr *pExpr = pUpper->pExpr->pRight;
105315 Expr *pExpr, /* Expression for VALUE in the x=VALUE constraint */
105578 Expr *pExpr = pTerm->pExpr;
106023 Expr *pX = pTerm->pExpr;
106167 Expr *pRight = pTerm->pExpr->pRight;
106480 Expr *pX; /* The expression that defines the start bound */
106510 Expr *pX;
106669 Expr *pRight = pRangeStart->pExpr->pRight;
106709 Expr *pRight = pRangeEnd->pExpr->pRight;
106833 Expr *pAndExpr = 0; /* An ".. AND (...)" expression */
106896 Expr *pExpr = pWC->a[iTerm].pExpr;
106912 Expr *pOrExpr = pOrTerm->pExpr;
106983 Expr *pE;
107161 Expr *pWhere, /* The WHERE clause */
107250 ** its Expr.iRightJoinTable value to find the bitmask of the right table
107832 Expr *pLimit; /* The LIMIT expression. NULL if there is no limit */
107833 Expr *pOffset; /* The OFFSET expression. NULL if there is none */
107879 /* Construct a new Expr object from a single identifier. Use the
107880 ** new Expr to populate pOut. Set the span of pOut to be the identifier
107920 static void binaryToUnaryIfNull(Parse *pParse, Expr *pY, Expr *pA, int op){
108000 Expr* yy122;
110223 Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0);
110229 Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0);
110230 Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
110231 Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0);
110449 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
110450 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0);
110457 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0);
110458 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
110459 Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0);
110460 Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0);
110689 Expr *p = yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0);
110748 Expr *p = 0;
110761 Expr *p = 0;
121143 Fts3Expr *pExpr, /* Expr. to advance to next matching row */
121350 Fts3Expr *pExpr, /* Expr to test. May or may not be root. */