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);
59368 Expr *pExpr, /* The expression to evaluate */
73067 SQLITE_PRIVATE int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){
73218 Expr *pExpr, /* Transform this into an alias to the result set */
73221 Expr *pOrig; /* The iCol-th column of the result set */
73222 Expr *pDup; /* Copy of pOrig */
73258 ** prevents ExprDelete() from deleting the Expr structure itself,
73318 Expr *pExpr /* Make this EXPR node point to the selected column */
73475 Expr *pOrig;
73580 SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *db, SrcList *pSrc, int iSrc, int iCol){
73581 Expr *p = sqlite3ExprAlloc(db, TK_COLUMN, 0, 0);
73610 static int resolveExprStep(Walker *pWalker, Expr *pExpr){
73664 Expr *pRight;
73797 Expr *pE /* Expression we are trying to match */
73836 Expr *pE /* The specific ORDER BY term */
73940 Expr *pE, *pDup;
74062 Expr *pE = pItem->pExpr;
74159 Expr *pX = pEList->a[i].pExpr;
74296 ** Expr.op Changed to TK_COLUMN
74297 ** Expr.pTab Points to the Table object for X.Y
74298 ** Expr.iColumn The column index in X.Y. -1 for the rowid.
74299 ** Expr.iTable The VDBE cursor number for X.Y
74327 Expr *pExpr /* The expression to be analyzed. */
74424 SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr){
74453 SQLITE_PRIVATE Expr *sqlite3ExprSetColl(Expr *pExpr, CollSeq *pColl){
74468 SQLITE_PRIVATE Expr *sqlite3ExprSetCollByToken(Parse *pParse, Expr *pExpr, Token *pCollName){
74483 SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr){
74485 Expr *p = pExpr;
74522 SQLITE_PRIVATE char sqlite3CompareAffinity(Expr *pExpr, char aff2){
74549 static char comparisonAffinity(Expr *pExpr){
74572 SQLITE_PRIVATE int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity){
74588 static u8 binaryCompareP5(Expr *pExpr1, Expr *pExpr2, int jumpIfNull){
74608 Expr *pLeft,
74609 Expr *pRight
74633 Expr *pLeft, /* The left operand */
74634 Expr *pRight, /* The right operand */
74679 static void heightOfExpr(Expr *p, int *pnHeight){
74708 ** Set the Expr.nHeight variable in the structure passed as an
74709 ** argument. An expression with no children, Expr.pList or
74710 ** Expr.pSelect member has a height of 1. Any other expression
74712 ** referenced Expr plus one.
74714 static void exprSetHeight(Expr *p){
74727 ** Set the Expr.nHeight variable using the exprSetHeight() function. If
74731 SQLITE_PRIVATE void sqlite3ExprSetHeight(Parse *pParse, Expr *p){
74750 ** This routine is the core allocator for Expr nodes.
74769 SQLITE_PRIVATE Expr *sqlite3ExprAlloc(
74775 Expr *pNew;
74786 pNew = sqlite3DbMallocZero(db, sizeof(Expr)+nExtra);
74818 SQLITE_PRIVATE Expr *sqlite3Expr(
74830 ** Attach subtrees pLeft and pRight to the Expr node pRoot.
74837 Expr *pRoot,
74838 Expr *pLeft,
74839 Expr *pRight
74865 ** Allocate a Expr node which joins as many as two subtrees.
74868 ** Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed,
74871 SQLITE_PRIVATE Expr *sqlite3PExpr(
74874 Expr *pLeft, /* Left operand */
74875 Expr *pRight, /* Right operand */
74878 Expr *p = sqlite3ExprAlloc(pParse->db, op, pToken, 1);
74890 SQLITE_PRIVATE Expr *sqlite3ExprAnd(sqlite3 *db, Expr *pLeft, Expr *pRight){
74896 Expr *pNew = sqlite3ExprAlloc(db, TK_AND, 0, 0);
74906 SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token *pToken){
74907 Expr *pNew;
74937 SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr){
75008 SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3 *db, Expr *p){
75034 static int exprStructSize(Expr *p){
75045 ** dupedExprStructSize() Size of only the Expr structure
75046 ** dupedExprNodeSize() Size of Expr + space for token
75047 ** dupedExprSize() Expr + token + subtree components
75052 ** (1) the space required for a copy of the Expr structure only and
75065 ** (unreduced) Expr objects as they or originally constructed by the parser.
75067 ** later parts of teh Expr object and that extra information might get chopped
75074 static int dupedExprStructSize(Expr *p, int flags){
75095 ** of the Expr structure and a copy of the Expr.u.zToken string (if that
75098 static int dupedExprNodeSize(Expr *p, int flags){
75111 ** The value returned includes space to create a copy of the Expr struct
75112 ** itself and the buffer referred to by Expr.u.zToken, if any.
75115 ** space to duplicate all Expr nodes in the tree formed by Expr.pLeft
75116 ** and Expr.pRight variables (but not for any structures pointed to or
75117 ** descended from the Expr.x.pList or Expr.x.pSelect variables).
75119 static int dupedExprSize(Expr *p, int flags){
75138 static Expr *exprDup(sqlite3 *db, Expr *p, int flags, u8 **pzBuffer){
75139 Expr *pNew = 0; /* Value to return */
75147 /* Figure out where to write the new Expr structure. */
75154 pNew = (Expr *)zAlloc;
75236 ** truncated version of the usual Expr structure that will be stored as
75239 SQLITE_PRIVATE Expr *sqlite3ExprDup(sqlite3 *db, Expr *p, int flags){
75259 Expr *pOldExpr = pOldItem->pExpr;
75382 Expr *pExpr /* Expression to be appended. Might be NULL */
75513 static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){
75550 static int exprIsConst(Expr *p, int initFlag){
75567 SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr *p){
75577 SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr *p){
75590 SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr *p){
75600 SQLITE_PRIVATE int sqlite3ExprIsInteger(Expr *p, int *pValue){
75644 SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr *p){
75669 const Expr *pExpr, /* Only generate OP_IsNull if this expr can be NULL */
75688 SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr *p, char aff){
75835 SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, int *prNotFound){
75852 Expr *pExpr; /* Expression <column> */
75986 Expr *pExpr, /* The IN, SELECT, or EXISTS operator */
76025 Expr *pLeft = pExpr->pLeft; /* the LHS of the IN operator */
76097 Expr *pE2 = pItem->pExpr;
76205 Expr *pExpr, /* The IN expression */
76357 ** Expr.u.zToken is always UTF8 and zero-terminated.
76359 static void codeInteger(Parse *pParse, Expr *pExpr, int negFlag, int iMem){
76670 SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){
76881 Expr *pLeft = pExpr->pLeft;
77068 Expr *pLeft = pExpr->pLeft;
77070 Expr *pRight = pLItem->pExpr;
77099 ** trigger programs. In this case Expr.iTable is set to 1 for the
77100 ** new.* pseudo-table, or 0 for the old.* pseudo-table. Expr.iColumn
77178 Expr opCompare; /* The X==Ei expression */
77179 Expr cacheX; /* Cached expression X */
77180 Expr *pX; /* The X expression */
77181 Expr *pTest = 0; /* X==Ei (form A) or just Ei (form B) */
77278 SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse *pParse, Expr *pExpr, int *pReg){
77295 SQLITE_PRIVATE int sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){
77323 SQLITE_PRIVATE int sqlite3ExprCodeAndCache(Parse *pParse, Expr *pExpr, int target){
77349 SQLITE_PRIVATE void sqlite3ExplainExpr(Vdbe *pOut, Expr *pExpr){
77517 Expr *pX = pExpr->pLeft;
77518 Expr *pY = pExpr->x.pList->a[0].pExpr;
77519 Expr *pZ = pExpr->x.pList->a[1].pExpr;
77532 ** trigger programs. In this case Expr.iTable is set to 1 for the
77533 ** new.* pseudo-table, or 0 for the old.* pseudo-table. Expr.iColumn
77620 static int isAppropriateForFactoring(Expr *p){
77668 static int evalConstExpr(Walker *pWalker, Expr *pExpr){
77723 SQLITE_PRIVATE void sqlite3ExprCodeConstants(Parse *pParse, Expr *pExpr){
77753 Expr *pExpr = pItem->pExpr;
77777 Expr *pExpr, /* The BETWEEN expression */
77782 Expr exprAnd; /* The AND operator in x>=y AND x<=z */
77783 Expr compLeft; /* The x>=y term */
77784 Expr compRight; /* The x<=z term */
77785 Expr exprX; /* The x subexpression */
77833 SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){
77953 SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){
78105 SQLITE_PRIVATE int sqlite3ExprCompare(Expr *pA, Expr *pB){
78153 Expr *pExprA = pA->a[i].pExpr;
78154 Expr *pExprB = pB->a[i].pExpr;
78198 static int analyzeAggregate(Walker *pWalker, Expr *pExpr){
78248 Expr *pE = pTerm->pExpr;
78341 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext *pNC, Expr *pExpr){
79062 Expr *pDflt; /* Default value for the new column */
80421 static int resolveAttachExpr(NameContext *pName, Expr *pExpr)
80692 Expr *pAuthArg, /* Expression to pass to authorization callback */
80693 Expr *pFilename, /* Name of database file */
80694 Expr *pDbname, /* Name of the database to use internally */
80695 Expr *pKey /* Database key for encryption extension */
80762 SQLITE_PRIVATE void sqlite3Detach(Parse *pParse, Expr *pDbname){
80784 SQLITE_PRIVATE void sqlite3Attach(Parse *pParse, Expr *p, Expr *pDbname, Expr *pKey){
80892 Expr *pExpr /* The expression to be fixed to one database */
81081 Expr *pExpr, /* The expression to check authorization on */
82397 Expr *pCheckExpr /* The check expression */
82897 ** This will force all the Expr.token.z values to be dynamically
83842 Expr *pExpr = pList->a[i].pExpr;
84525 Expr *pOn, /* The ON clause of a join */
85563 Expr *pWhere, /* Optional WHERE clause to be added */
85602 SQLITE_PRIVATE Expr *sqlite3LimitWhere(
85605 Expr *pWhere, /* The WHERE clause. May be null */
85607 Expr *pLimit, /* The LIMIT clause. May be null */
85608 Expr *pOffset, /* The OFFSET clause. May be null */
85611 Expr *pWhereRowid = NULL; /* WHERE rowid .. */
85612 Expr *pInClause = NULL; /* WHERE rowid IN ( select ) */
85613 Expr *pSelectRowid = NULL; /* SELECT rowid ... */
85696 Expr *pWhere /* The WHERE clause. May be null */
87611 SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocase, char *aWc){
88222 Expr *pWhere = 0; /* WHERE clause to scan with */
88234 /* Create an Expr object representing an SQL expression like:
88243 Expr *pLeft; /* Value from parent table row */
88244 Expr *pRight; /* Column ref to child table */
88245 Expr *pEq; /* Expression (pLeft = pRight) */
88279 Expr *pEq; /* Expression (pLeft = pRight) */
88280 Expr *pLeft; /* Value from parent table row */
88281 Expr *pRight; /* Column ref to child table */
88731 Expr *pWhere = 0; /* WHERE clause of trigger step */
88735 Expr *pWhen = 0; /* WHEN clause for the trigger */
88746 Expr *pEq; /* tFromCol = OLD.tToCol */
88789 Expr *pNew;
88796 Expr *pDflt = pFKey->pFrom->aCol[iFromCol].pDflt;
88816 Expr *pRaise;
94555 Expr *pWhere, /* the WHERE clause */
94557 Expr *pHaving, /* the HAVING clause */
94560 Expr *pLimit, /* LIMIT value. NULL means not used */
94561 Expr *pOffset /* OFFSET value. NULL means no offset */
94750 Expr **ppWhere /* IN/OUT: The WHERE clause to add to */
94753 Expr *pE1;
94754 Expr *pE2;
94755 Expr *pEq;
94777 ** And set the Expr.iRightJoinTable to iTable for every term in the
94787 ** The Expr.iRightJoinTable tells the WHERE clause processing that the
94801 static void setJoinExpr(Expr *p, int iTable){
95505 Expr *pExpr,
95573 Expr *p = pS->pEList->a[iCol].pExpr;
95607 Expr *p = pS->pEList->a[0].pExpr;
95643 Expr *p = pEList->a[i].pExpr;
95694 Expr *p;
95749 ExprList *pEList, /* Expr list from which to derive column names */
95758 Expr *p; /* Expression for a single result column */
95775 Expr *pColExpr = p; /* The expression that is the result column name */
95852 Expr *p;
96177 Expr *pLimit, *pOffset; /* Saved values of p->nLimit and p->nOffset */
96275 Expr *pLimit, *pOffset;
96732 Expr *pNew = sqlite3Expr(db, TK_INTEGER, 0);
96764 Expr *pTerm = pOrderBy->a[i].pExpr;
97025 static Expr *substExpr(
97027 Expr *pExpr, /* Expr in which substitution occurs */
97036 Expr *pNew;
97227 Expr *pWhere; /* The WHERE clause */
97386 Expr *pLimit = p->pLimit;
97426 ** complete, since there may still exist Expr.pTab entries that
97597 Expr *pExpr;
97629 Expr *pExpr;
97793 Expr *pE = pEList->a[k].pExpr;
97812 Expr *pE = a[k].pExpr;
97849 Expr *pExpr, *pRight;
97882 Expr *pLeft;
97928 static int exprWalkNoop(Walker *NotUsed, Expr *NotUsed2){
98062 Expr *pE = pFunc->pExpr;
98266 Expr *pWhere; /* The WHERE clause. May be NULL */
98269 Expr *pHaving; /* The HAVING clause. May be NULL */
99402 Expr *pWhen, /* WHEN clause */
99745 Expr *pWhere, /* The WHERE clause */
99769 Expr *pWhere /* The WHERE clause */
100137 Expr *pWhen = 0; /* Duplicate of trigger WHEN expression */
100464 Expr *pRowidExpr, /* Expression used to recompute the rowid */
100466 Expr *pWhere, /* WHERE clause of the UPDATE statement */
100533 Expr *pWhere, /* The WHERE clause. May be null */
100550 Expr *pRowidExpr = 0; /* Expression defining the new record number */
101044 Expr *pRowid, /* Expression used to recompute the rowid */
101046 Expr *pWhere, /* WHERE clause of the UPDATE statement */
101052 Expr *pExpr; /* Temporary expression */
102398 Expr *pExpr /* First argument to the function */
102627 Expr *pExpr; /* Pointer to the subexpression that is this term */
102710 ** SrcList_item.iCursor and Expr.iTable fields. For any given WHERE
102863 ** The new WhereTerm object is constructed from Expr p and with wtFlags.
102880 static int whereClauseInsert(WhereClause *pWC, Expr *p, u8 wtFlags){
102926 static void whereSplit(WhereClause *pWC, Expr *pExpr, int op){
102979 ** sets their opcodes to TK_COLUMN and their Expr.iTable fields to
102986 static Bitmask exprTableUsage(WhereMaskSet *pMaskSet, Expr *p){
103070 static void exprCommute(Parse *pParse, Expr *pExpr){
103079 SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
103140 Expr *pX = pTerm->pExpr;
103198 Expr *pExpr, /* Test this expression */
103199 Expr **ppPrefix, /* Pointer to TK_STRING expression with pattern prefix */
103204 Expr *pRight, *pLeft; /* Right and left size of LIKE operator */
103251 Expr *pPrefix;
103292 Expr *pExpr /* Test this expression */
103317 static void transferJoinMarkings(Expr *pDerived, Expr *pBase){
103407 Expr *pExpr = pTerm->pExpr; /* The expression of the term */
103596 Expr *pDup; /* A transient duplicate expression */
103598 Expr *pLeft = 0; /* The LHS of the IN operator */
103599 Expr *pNew; /* The complete IN operator */
103659 Expr *pExpr; /* The expression to be analyzed */
103663 Expr *pStr1 = 0; /* RHS of LIKE/GLOB operator */
103702 Expr *pLeft = pExpr->pLeft;
103703 Expr *pRight = pExpr->pRight;
103711 Expr *pDup;
103764 Expr *pNewExpr;
103804 Expr *pLeft; /* LHS of LIKE/GLOB operator */
103805 Expr *pStr2; /* Copy of pStr1 - RHS of LIKE/GLOB operator */
103806 Expr *pNewExpr1;
103807 Expr *pNewExpr2;
103863 Expr *pRight, *pLeft;
103872 Expr *pNewExpr;
103906 Expr *pNewExpr;
103907 Expr *pLeft = pExpr->pLeft;
103978 Expr *p = pList->a[i].pExpr;
104029 Expr *p = pDistinct->a[i].pExpr;
104033 Expr *pX = pTerm->pExpr;
104081 Expr *p = pDistinct->a[i].pExpr;
104170 Expr *pExpr; /* The expression of the ORDER BY pTerm */
104620 Expr *pX = pTerm->pExpr;
104714 Expr *pExpr = pOrderBy->a[i].pExpr;
104771 Expr *pExpr = pOrderBy->a[i].pExpr;
105162 Expr *pExpr,
105237 Expr *pExpr = pLower->pExpr->pRight;
105249 Expr *pExpr = pUpper->pExpr->pRight;
105304 Expr *pExpr, /* Expression for VALUE in the x=VALUE constraint */
105567 Expr *pExpr = pTerm->pExpr;
106012 Expr *pX = pTerm->pExpr;
106156 Expr *pRight = pTerm->pExpr->pRight;
106469 Expr *pX; /* The expression that defines the start bound */
106499 Expr *pX;
106658 Expr *pRight = pRangeStart->pExpr->pRight;
106698 Expr *pRight = pRangeEnd->pExpr->pRight;
106822 Expr *pAndExpr = 0; /* An ".. AND (...)" expression */
106885 Expr *pExpr = pWC->a[iTerm].pExpr;
106901 Expr *pOrExpr = pOrTerm->pExpr;
106972 Expr *pE;
107150 Expr *pWhere, /* The WHERE clause */
107239 ** its Expr.iRightJoinTable value to find the bitmask of the right table
107821 Expr *pLimit; /* The LIMIT expression. NULL if there is no limit */
107822 Expr *pOffset; /* The OFFSET expression. NULL if there is none */
107868 /* Construct a new Expr object from a single identifier. Use the
107869 ** new Expr to populate pOut. Set the span of pOut to be the identifier
107909 static void binaryToUnaryIfNull(Parse *pParse, Expr *pY, Expr *pA, int op){
107989 Expr* yy122;
110212 Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0);
110218 Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0);
110219 Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
110220 Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0);
110438 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
110439 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0);
110446 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0);
110447 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
110448 Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0);
110449 Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0);
110678 Expr *p = yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0);
110737 Expr *p = 0;
110750 Expr *p = 0;
121114 Fts3Expr *pExpr, /* Expr. to advance to next matching row */
121321 Fts3Expr *pExpr, /* Expr to test. May or may not be root. */