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);
59396 Expr *pExpr, /* The expression to evaluate */
73103 SQLITE_PRIVATE int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){
73254 Expr *pExpr, /* Transform this into an alias to the result set */
73257 Expr *pOrig; /* The iCol-th column of the result set */
73258 Expr *pDup; /* Copy of pOrig */
73294 ** prevents ExprDelete() from deleting the Expr structure itself,
73354 Expr *pExpr /* Make this EXPR node point to the selected column */
73511 Expr *pOrig;
73616 SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *db, SrcList *pSrc, int iSrc, int iCol){
73617 Expr *p = sqlite3ExprAlloc(db, TK_COLUMN, 0, 0);
73646 static int resolveExprStep(Walker *pWalker, Expr *pExpr){
73700 Expr *pRight;
73833 Expr *pE /* Expression we are trying to match */
73872 Expr *pE /* The specific ORDER BY term */
73976 Expr *pE, *pDup;
74098 Expr *pE = pItem->pExpr;
74195 Expr *pX = pEList->a[i].pExpr;
74332 ** Expr.op Changed to TK_COLUMN
74333 ** Expr.pTab Points to the Table object for X.Y
74334 ** Expr.iColumn The column index in X.Y. -1 for the rowid.
74335 ** Expr.iTable The VDBE cursor number for X.Y
74363 Expr *pExpr /* The expression to be analyzed. */
74460 SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr){
74489 SQLITE_PRIVATE Expr *sqlite3ExprSetColl(Expr *pExpr, CollSeq *pColl){
74504 SQLITE_PRIVATE Expr *sqlite3ExprSetCollByToken(Parse *pParse, Expr *pExpr, Token *pCollName){
74519 SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr){
74521 Expr *p = pExpr;
74558 SQLITE_PRIVATE char sqlite3CompareAffinity(Expr *pExpr, char aff2){
74585 static char comparisonAffinity(Expr *pExpr){
74608 SQLITE_PRIVATE int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity){
74624 static u8 binaryCompareP5(Expr *pExpr1, Expr *pExpr2, int jumpIfNull){
74644 Expr *pLeft,
74645 Expr *pRight
74669 Expr *pLeft, /* The left operand */
74670 Expr *pRight, /* The right operand */
74715 static void heightOfExpr(Expr *p, int *pnHeight){
74744 ** Set the Expr.nHeight variable in the structure passed as an
74745 ** argument. An expression with no children, Expr.pList or
74746 ** Expr.pSelect member has a height of 1. Any other expression
74748 ** referenced Expr plus one.
74750 static void exprSetHeight(Expr *p){
74763 ** Set the Expr.nHeight variable using the exprSetHeight() function. If
74767 SQLITE_PRIVATE void sqlite3ExprSetHeight(Parse *pParse, Expr *p){
74786 ** This routine is the core allocator for Expr nodes.
74805 SQLITE_PRIVATE Expr *sqlite3ExprAlloc(
74811 Expr *pNew;
74822 pNew = sqlite3DbMallocZero(db, sizeof(Expr)+nExtra);
74854 SQLITE_PRIVATE Expr *sqlite3Expr(
74866 ** Attach subtrees pLeft and pRight to the Expr node pRoot.
74873 Expr *pRoot,
74874 Expr *pLeft,
74875 Expr *pRight
74901 ** Allocate a Expr node which joins as many as two subtrees.
74904 ** Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed,
74907 SQLITE_PRIVATE Expr *sqlite3PExpr(
74910 Expr *pLeft, /* Left operand */
74911 Expr *pRight, /* Right operand */
74914 Expr *p = sqlite3ExprAlloc(pParse->db, op, pToken, 1);
74926 SQLITE_PRIVATE Expr *sqlite3ExprAnd(sqlite3 *db, Expr *pLeft, Expr *pRight){
74932 Expr *pNew = sqlite3ExprAlloc(db, TK_AND, 0, 0);
74942 SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token *pToken){
74943 Expr *pNew;
74973 SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr){
75044 SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3 *db, Expr *p){
75070 static int exprStructSize(Expr *p){
75081 ** dupedExprStructSize() Size of only the Expr structure
75082 ** dupedExprNodeSize() Size of Expr + space for token
75083 ** dupedExprSize() Expr + token + subtree components
75088 ** (1) the space required for a copy of the Expr structure only and
75101 ** (unreduced) Expr objects as they or originally constructed by the parser.
75103 ** later parts of teh Expr object and that extra information might get chopped
75110 static int dupedExprStructSize(Expr *p, int flags){
75131 ** of the Expr structure and a copy of the Expr.u.zToken string (if that
75134 static int dupedExprNodeSize(Expr *p, int flags){
75147 ** The value returned includes space to create a copy of the Expr struct
75148 ** itself and the buffer referred to by Expr.u.zToken, if any.
75151 ** space to duplicate all Expr nodes in the tree formed by Expr.pLeft
75152 ** and Expr.pRight variables (but not for any structures pointed to or
75153 ** descended from the Expr.x.pList or Expr.x.pSelect variables).
75155 static int dupedExprSize(Expr *p, int flags){
75174 static Expr *exprDup(sqlite3 *db, Expr *p, int flags, u8 **pzBuffer){
75175 Expr *pNew = 0; /* Value to return */
75183 /* Figure out where to write the new Expr structure. */
75190 pNew = (Expr *)zAlloc;
75272 ** truncated version of the usual Expr structure that will be stored as
75275 SQLITE_PRIVATE Expr *sqlite3ExprDup(sqlite3 *db, Expr *p, int flags){
75295 Expr *pOldExpr = pOldItem->pExpr;
75418 Expr *pExpr /* Expression to be appended. Might be NULL */
75549 static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){
75586 static int exprIsConst(Expr *p, int initFlag){
75603 SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr *p){
75613 SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr *p){
75626 SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr *p){
75636 SQLITE_PRIVATE int sqlite3ExprIsInteger(Expr *p, int *pValue){
75680 SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr *p){
75705 const Expr *pExpr, /* Only generate OP_IsNull if this expr can be NULL */
75724 SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr *p, char aff){
75871 SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, int *prNotFound){
75888 Expr *pExpr; /* Expression <column> */
76022 Expr *pExpr, /* The IN, SELECT, or EXISTS operator */
76061 Expr *pLeft = pExpr->pLeft; /* the LHS of the IN operator */
76133 Expr *pE2 = pItem->pExpr;
76241 Expr *pExpr, /* The IN expression */
76393 ** Expr.u.zToken is always UTF8 and zero-terminated.
76395 static void codeInteger(Parse *pParse, Expr *pExpr, int negFlag, int iMem){
76706 SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){
76917 Expr *pLeft = pExpr->pLeft;
77104 Expr *pLeft = pExpr->pLeft;
77106 Expr *pRight = pLItem->pExpr;
77135 ** trigger programs. In this case Expr.iTable is set to 1 for the
77136 ** new.* pseudo-table, or 0 for the old.* pseudo-table. Expr.iColumn
77214 Expr opCompare; /* The X==Ei expression */
77215 Expr cacheX; /* Cached expression X */
77216 Expr *pX; /* The X expression */
77217 Expr *pTest = 0; /* X==Ei (form A) or just Ei (form B) */
77314 SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse *pParse, Expr *pExpr, int *pReg){
77331 SQLITE_PRIVATE int sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){
77359 SQLITE_PRIVATE int sqlite3ExprCodeAndCache(Parse *pParse, Expr *pExpr, int target){
77385 SQLITE_PRIVATE void sqlite3ExplainExpr(Vdbe *pOut, Expr *pExpr){
77553 Expr *pX = pExpr->pLeft;
77554 Expr *pY = pExpr->x.pList->a[0].pExpr;
77555 Expr *pZ = pExpr->x.pList->a[1].pExpr;
77568 ** trigger programs. In this case Expr.iTable is set to 1 for the
77569 ** new.* pseudo-table, or 0 for the old.* pseudo-table. Expr.iColumn
77656 static int isAppropriateForFactoring(Expr *p){
77704 static int evalConstExpr(Walker *pWalker, Expr *pExpr){
77759 SQLITE_PRIVATE void sqlite3ExprCodeConstants(Parse *pParse, Expr *pExpr){
77789 Expr *pExpr = pItem->pExpr;
77813 Expr *pExpr, /* The BETWEEN expression */
77818 Expr exprAnd; /* The AND operator in x>=y AND x<=z */
77819 Expr compLeft; /* The x>=y term */
77820 Expr compRight; /* The x<=z term */
77821 Expr exprX; /* The x subexpression */
77869 SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){
77989 SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){
78141 SQLITE_PRIVATE int sqlite3ExprCompare(Expr *pA, Expr *pB){
78189 Expr *pExprA = pA->a[i].pExpr;
78190 Expr *pExprB = pB->a[i].pExpr;
78234 static int analyzeAggregate(Walker *pWalker, Expr *pExpr){
78284 Expr *pE = pTerm->pExpr;
78377 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext *pNC, Expr *pExpr){
79098 Expr *pDflt; /* Default value for the new column */
80457 static int resolveAttachExpr(NameContext *pName, Expr *pExpr)
80728 Expr *pAuthArg, /* Expression to pass to authorization callback */
80729 Expr *pFilename, /* Name of database file */
80730 Expr *pDbname, /* Name of the database to use internally */
80731 Expr *pKey /* Database key for encryption extension */
80798 SQLITE_PRIVATE void sqlite3Detach(Parse *pParse, Expr *pDbname){
80820 SQLITE_PRIVATE void sqlite3Attach(Parse *pParse, Expr *p, Expr *pDbname, Expr *pKey){
80928 Expr *pExpr /* The expression to be fixed to one database */
81117 Expr *pExpr, /* The expression to check authorization on */
82433 Expr *pCheckExpr /* The check expression */
82933 ** This will force all the Expr.token.z values to be dynamically
83878 Expr *pExpr = pList->a[i].pExpr;
84561 Expr *pOn, /* The ON clause of a join */
85599 Expr *pWhere, /* Optional WHERE clause to be added */
85638 SQLITE_PRIVATE Expr *sqlite3LimitWhere(
85641 Expr *pWhere, /* The WHERE clause. May be null */
85643 Expr *pLimit, /* The LIMIT clause. May be null */
85644 Expr *pOffset, /* The OFFSET clause. May be null */
85647 Expr *pWhereRowid = NULL; /* WHERE rowid .. */
85648 Expr *pInClause = NULL; /* WHERE rowid IN ( select ) */
85649 Expr *pSelectRowid = NULL; /* SELECT rowid ... */
85732 Expr *pWhere /* The WHERE clause. May be null */
87647 SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocase, char *aWc){
88258 Expr *pWhere = 0; /* WHERE clause to scan with */
88270 /* Create an Expr object representing an SQL expression like:
88279 Expr *pLeft; /* Value from parent table row */
88280 Expr *pRight; /* Column ref to child table */
88281 Expr *pEq; /* Expression (pLeft = pRight) */
88315 Expr *pEq; /* Expression (pLeft = pRight) */
88316 Expr *pLeft; /* Value from parent table row */
88317 Expr *pRight; /* Column ref to child table */
88767 Expr *pWhere = 0; /* WHERE clause of trigger step */
88771 Expr *pWhen = 0; /* WHEN clause for the trigger */
88782 Expr *pEq; /* tFromCol = OLD.tToCol */
88825 Expr *pNew;
88832 Expr *pDflt = pFKey->pFrom->aCol[iFromCol].pDflt;
88852 Expr *pRaise;
94591 Expr *pWhere, /* the WHERE clause */
94593 Expr *pHaving, /* the HAVING clause */
94596 Expr *pLimit, /* LIMIT value. NULL means not used */
94597 Expr *pOffset /* OFFSET value. NULL means no offset */
94786 Expr **ppWhere /* IN/OUT: The WHERE clause to add to */
94789 Expr *pE1;
94790 Expr *pE2;
94791 Expr *pEq;
94813 ** And set the Expr.iRightJoinTable to iTable for every term in the
94823 ** The Expr.iRightJoinTable tells the WHERE clause processing that the
94837 static void setJoinExpr(Expr *p, int iTable){
95541 Expr *pExpr,
95609 Expr *p = pS->pEList->a[iCol].pExpr;
95643 Expr *p = pS->pEList->a[0].pExpr;
95679 Expr *p = pEList->a[i].pExpr;
95730 Expr *p;
95785 ExprList *pEList, /* Expr list from which to derive column names */
95794 Expr *p; /* Expression for a single result column */
95811 Expr *pColExpr = p; /* The expression that is the result column name */
95888 Expr *p;
96213 Expr *pLimit, *pOffset; /* Saved values of p->nLimit and p->nOffset */
96311 Expr *pLimit, *pOffset;
96768 Expr *pNew = sqlite3Expr(db, TK_INTEGER, 0);
96800 Expr *pTerm = pOrderBy->a[i].pExpr;
97061 static Expr *substExpr(
97063 Expr *pExpr, /* Expr in which substitution occurs */
97072 Expr *pNew;
97263 Expr *pWhere; /* The WHERE clause */
97422 Expr *pLimit = p->pLimit;
97462 ** complete, since there may still exist Expr.pTab entries that
97633 Expr *pExpr;
97665 Expr *pExpr;
97829 Expr *pE = pEList->a[k].pExpr;
97848 Expr *pE = a[k].pExpr;
97885 Expr *pExpr, *pRight;
97918 Expr *pLeft;
97964 static int exprWalkNoop(Walker *NotUsed, Expr *NotUsed2){
98098 Expr *pE = pFunc->pExpr;
98302 Expr *pWhere; /* The WHERE clause. May be NULL */
98305 Expr *pHaving; /* The HAVING clause. May be NULL */
99438 Expr *pWhen, /* WHEN clause */
99781 Expr *pWhere, /* The WHERE clause */
99805 Expr *pWhere /* The WHERE clause */
100173 Expr *pWhen = 0; /* Duplicate of trigger WHEN expression */
100500 Expr *pRowidExpr, /* Expression used to recompute the rowid */
100502 Expr *pWhere, /* WHERE clause of the UPDATE statement */
100569 Expr *pWhere, /* The WHERE clause. May be null */
100586 Expr *pRowidExpr = 0; /* Expression defining the new record number */
101080 Expr *pRowid, /* Expression used to recompute the rowid */
101082 Expr *pWhere, /* WHERE clause of the UPDATE statement */
101088 Expr *pExpr; /* Temporary expression */
102434 Expr *pExpr /* First argument to the function */
102663 Expr *pExpr; /* Pointer to the subexpression that is this term */
102746 ** SrcList_item.iCursor and Expr.iTable fields. For any given WHERE
102899 ** The new WhereTerm object is constructed from Expr p and with wtFlags.
102916 static int whereClauseInsert(WhereClause *pWC, Expr *p, u8 wtFlags){
102962 static void whereSplit(WhereClause *pWC, Expr *pExpr, int op){
103015 ** sets their opcodes to TK_COLUMN and their Expr.iTable fields to
103022 static Bitmask exprTableUsage(WhereMaskSet *pMaskSet, Expr *p){
103106 static void exprCommute(Parse *pParse, Expr *pExpr){
103115 SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
103176 Expr *pX = pTerm->pExpr;
103234 Expr *pExpr, /* Test this expression */
103235 Expr **ppPrefix, /* Pointer to TK_STRING expression with pattern prefix */
103240 Expr *pRight, *pLeft; /* Right and left size of LIKE operator */
103287 Expr *pPrefix;
103328 Expr *pExpr /* Test this expression */
103353 static void transferJoinMarkings(Expr *pDerived, Expr *pBase){
103443 Expr *pExpr = pTerm->pExpr; /* The expression of the term */
103632 Expr *pDup; /* A transient duplicate expression */
103634 Expr *pLeft = 0; /* The LHS of the IN operator */
103635 Expr *pNew; /* The complete IN operator */
103695 Expr *pExpr; /* The expression to be analyzed */
103699 Expr *pStr1 = 0; /* RHS of LIKE/GLOB operator */
103738 Expr *pLeft = pExpr->pLeft;
103739 Expr *pRight = pExpr->pRight;
103747 Expr *pDup;
103800 Expr *pNewExpr;
103840 Expr *pLeft; /* LHS of LIKE/GLOB operator */
103841 Expr *pStr2; /* Copy of pStr1 - RHS of LIKE/GLOB operator */
103842 Expr *pNewExpr1;
103843 Expr *pNewExpr2;
103899 Expr *pRight, *pLeft;
103908 Expr *pNewExpr;
103942 Expr *pNewExpr;
103943 Expr *pLeft = pExpr->pLeft;
104014 Expr *p = pList->a[i].pExpr;
104065 Expr *p = pDistinct->a[i].pExpr;
104069 Expr *pX = pTerm->pExpr;
104117 Expr *p = pDistinct->a[i].pExpr;
104206 Expr *pExpr; /* The expression of the ORDER BY pTerm */
104656 Expr *pX = pTerm->pExpr;
104750 Expr *pExpr = pOrderBy->a[i].pExpr;
104807 Expr *pExpr = pOrderBy->a[i].pExpr;
105198 Expr *pExpr,
105273 Expr *pExpr = pLower->pExpr->pRight;
105285 Expr *pExpr = pUpper->pExpr->pRight;
105340 Expr *pExpr, /* Expression for VALUE in the x=VALUE constraint */
105603 Expr *pExpr = pTerm->pExpr;
106048 Expr *pX = pTerm->pExpr;
106192 Expr *pRight = pTerm->pExpr->pRight;
106505 Expr *pX; /* The expression that defines the start bound */
106535 Expr *pX;
106694 Expr *pRight = pRangeStart->pExpr->pRight;
106734 Expr *pRight = pRangeEnd->pExpr->pRight;
106858 Expr *pAndExpr = 0; /* An ".. AND (...)" expression */
106921 Expr *pExpr = pWC->a[iTerm].pExpr;
106937 Expr *pOrExpr = pOrTerm->pExpr;
107008 Expr *pE;
107186 Expr *pWhere, /* The WHERE clause */
107275 ** its Expr.iRightJoinTable value to find the bitmask of the right table
107857 Expr *pLimit; /* The LIMIT expression. NULL if there is no limit */
107858 Expr *pOffset; /* The OFFSET expression. NULL if there is none */
107904 /* Construct a new Expr object from a single identifier. Use the
107905 ** new Expr to populate pOut. Set the span of pOut to be the identifier
107945 static void binaryToUnaryIfNull(Parse *pParse, Expr *pY, Expr *pA, int op){
108025 Expr* yy122;
110248 Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0);
110254 Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0);
110255 Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
110256 Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0);
110474 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
110475 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0);
110482 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0);
110483 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
110484 Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0);
110485 Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0);
110714 Expr *p = yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0);
110773 Expr *p = 0;
110786 Expr *p = 0;
121160 Fts3Expr *pExpr, /* Expr. to advance to next matching row */
121367 Fts3Expr *pExpr, /* Expr to test. May or may not be root. */