• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/Heimdal-398.1.2/lib/sqlite/

Lines Matching defs:Expr

7877 typedef struct Expr Expr;
9746 Expr *pDflt; /* Default value of this column */
9935 Expr *pCheck; /* The AND of all CHECK constraints */
10170 ** If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a
10171 ** pointer to this structure. The Expr.iColumn field is the index in
10194 Expr *pExpr; /* The original expression */
10202 Expr *pExpr; /* Expression encoding the function */
10215 ** it uses less memory in the Expr object, which is a big memory user
10231 ** Expr.op is the opcode. The integer parser token codes are reused
10238 ** or TK_STRING), then Expr.token contains the text of the SQL literal. If
10239 ** the expression is a variable (TK_VARIABLE), then Expr.token contains the
10241 ** then Expr.token contains the name of the function.
10243 ** Expr.pRight and Expr.pLeft are the left and right subexpressions of a
10246 ** Expr.x.pList is a list of arguments if the expression is an SQL function,
10248 ** Expr.x.pSelect is used if the expression is a sub-select or an expression of
10250 ** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
10254 ** For such expressions, Expr.op is set to TK_COLUMN and Expr.iTable is
10256 ** Expr.iColumn is the column number for the specific column. If the
10258 ** value is also stored in the Expr.iAgg column in the aggregate so that
10262 ** character '?' in the original SQL) then the Expr.iTable holds the index
10265 ** If the expression is a subquery then Expr.iColumn holds an integer
10271 ** If the Expr is of type OP_Column, and the table it is selecting from
10277 ** Expr objects can use a lot of memory space in database schema. To
10278 ** help reduce memory requirements, sometimes an Expr object will be
10280 ** two or more Expr objects will be stored in a single memory allocation,
10281 ** together with Expr.zToken strings.
10284 ** an Expr object is truncated. When EP_Reduced is set, then all
10285 ** the child Expr objects in the Expr.pLeft and Expr.pRight subtrees
10287 ** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
10290 struct Expr {
10299 /* If the EP_TokenOnly flag is set in the Expr.flags mask, then no
10304 Expr *pLeft; /* Left subnode */
10305 Expr *pRight; /* Right subnode */
10312 /* If the EP_Reduced flag is set in the Expr.flags mask, then no
10325 u8 op2; /* If a TK_REGISTER, the original value of Expr.op */
10334 ** The following are the meanings of bits in the Expr.flags field.
10349 #define EP_Reduced 0x1000 /* Expr struct is EXPR_REDUCEDSIZE bytes only */
10350 #define EP_TokenOnly 0x2000 /* Expr struct is EXPR_TOKENONLYSIZE bytes only */
10354 ** The following are the meanings of bits in the Expr.flags2 field.
10356 #define EP2_MallocedToken 0x0001 /* Need to sqlite3DbFree() Expr.zToken */
10357 #define EP2_Irreducible 0x0002 /* Cannot EXPRDUP_REDUCE this Expr */
10373 ** Expr.flags field.
10381 ** Macros to determine the number of bytes required by a normal Expr
10382 ** struct, an Expr struct with the EP_Reduced flag set in Expr.flags
10383 ** and an Expr struct with the EP_TokenOnly flag set.
10385 #define EXPR_FULLSIZE sizeof(Expr) /* Full size */
10386 #define EXPR_REDUCEDSIZE offsetof(Expr,iTable) /* Common features */
10387 #define EXPR_TOKENONLYSIZE offsetof(Expr,pLeft) /* Fewer features */
10393 #define EXPRDUP_REDUCE 0x0001 /* Used reduced-size Expr nodes */
10408 Expr *pExpr; /* The list of expressions */
10424 Expr *pExpr; /* The expression parse tree */
10504 Expr *pOn; /* The ON clause of a join */
10695 Expr *pWhere; /* The WHERE clause */
10697 Expr *pHaving; /* The HAVING clause */
10702 Expr *pLimit; /* LIMIT expression. NULL means not used. */
10703 Expr *pOffset; /* OFFSET expression. NULL means not used. */
10963 Expr *pWhen; /* The WHEN clause of the expression (may be NULL) */
11026 Expr *pWhere; /* The WHERE clause for DELETE or UPDATE steps */
11118 int (*xExprCallback)(Walker*, Expr*); /* Callback for expressions */
11128 SQLITE_PRIVATE int sqlite3WalkExpr(Walker*, Expr*);
11304 SQLITE_PRIVATE Expr *sqlite3ExprAlloc(sqlite3*,int,const Token*,int);
11305 SQLITE_PRIVATE Expr *sqlite3Expr(sqlite3*,int,const char*);
11306 SQLITE_PRIVATE void sqlite3ExprAttachSubtrees(sqlite3*,Expr*,Expr*,Expr*);
11307 SQLITE_PRIVATE Expr *sqlite3PExpr(Parse*, int, Expr*, Expr*, const Token*);
11308 SQLITE_PRIVATE Expr *sqlite3ExprAnd(sqlite3*,Expr*, Expr*);
11309 SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse*,ExprList*, Token*);
11310 SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse*, Expr*);
11311 SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3*, Expr*);
11312 SQLITE_PRIVATE ExprList *sqlite3ExprListAppend(Parse*,ExprList*,Expr*);
11328 SQLITE_PRIVATE void sqlite3AddCheckConstraint(Parse*, Expr*);
11374 Token*, Select*, Expr*, IdList*);
11385 SQLITE_PRIVATE Select *sqlite3SelectNew(Parse*,ExprList*,SrcList*,Expr*,ExprList*,
11386 Expr*,ExprList*,int,Expr*,Expr*);
11392 SQLITE_PRIVATE Expr *sqlite3LimitWhere(Parse *, SrcList *, Expr *, ExprList *, Expr *, Expr *, char *);
11394 SQLITE_PRIVATE void sqlite3DeleteFrom(Parse*, SrcList*, Expr*);
11395 SQLITE_PRIVATE void sqlite3Update(Parse*, SrcList*, ExprList*, Expr*, int);
11396 SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin(Parse*, SrcList*, Expr*, ExprList**,ExprList*,u16);
11408 SQLITE_PRIVATE int sqlite3ExprCode(Parse*, Expr*, int);
11409 SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse*, Expr*, int*);
11410 SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse*, Expr*, int);
11411 SQLITE_PRIVATE int sqlite3ExprCodeAndCache(Parse*, Expr*, int);
11412 SQLITE_PRIVATE void sqlite3ExprCodeConstants(Parse*, Expr*);
11414 SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse*, Expr*, int, int);
11415 SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse*, Expr*, int, int);
11424 SQLITE_PRIVATE int sqlite3ExprCompare(Expr*, Expr*);
11426 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext*, Expr*);
11440 SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr*);
11441 SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr*);
11442 SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr*);
11443 SQLITE_PRIVATE int sqlite3ExprIsInteger(Expr*, int*);
11444 SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr*);
11445 SQLITE_PRIVATE void sqlite3ExprCodeIsNullJump(Vdbe*, const Expr*, int, int);
11446 SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr*, char);
11459 SQLITE_PRIVATE Expr *sqlite3ExprDup(sqlite3*,Expr*,int);
11474 SQLITE_PRIVATE void sqlite3MaterializeView(Parse*, Table*, Expr*, int);
11479 Expr*,int, int);
11488 void sqliteViewTriggers(Parse*, Table*, Expr*, int, ExprList*);
11493 SQLITE_PRIVATE TriggerStep *sqlite3TriggerUpdateStep(sqlite3*,Token*,ExprList*, Expr*, u8);
11494 SQLITE_PRIVATE TriggerStep *sqlite3TriggerDeleteStep(sqlite3*,Token*, Expr*);
11515 SQLITE_PRIVATE void sqlite3AuthRead(Parse*,Expr*,Schema*,SrcList*);
11526 SQLITE_PRIVATE void sqlite3Attach(Parse*, Expr*, Expr*, Expr*);
11527 SQLITE_PRIVATE void sqlite3Detach(Parse*, Expr*);
11531 SQLITE_PRIVATE int sqlite3FixExpr(DbFixer*, Expr*);
11579 SQLITE_PRIVATE char sqlite3CompareAffinity(Expr *pExpr, char aff2);
11580 SQLITE_PRIVATE int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity);
11581 SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr);
11591 SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr);
11592 SQLITE_PRIVATE Expr *sqlite3ExprSetColl(Expr*, CollSeq*);
11593 SQLITE_PRIVATE Expr *sqlite3ExprSetCollByToken(Parse *pParse, Expr*, Token*);
11618 SQLITE_PRIVATE int sqlite3ValueFromExpr(sqlite3 *, Expr *, u8, u8, sqlite3_value **);
11638 SQLITE_PRIVATE int sqlite3CodeSubselect(Parse *, Expr *, int, int);
11640 SQLITE_PRIVATE int sqlite3ResolveExprNames(NameContext*, Expr*);
11656 SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3*,Expr*,int*,char*);
11675 SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *, SrcList *, int, int);
11737 SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction(sqlite3 *,FuncDef*, int nArg, Expr*);
11743 SQLITE_PRIVATE CollSeq *sqlite3BinaryCompareCollSeq(Parse *, Expr *, Expr *);
11800 SQLITE_PRIVATE int sqlite3FindInIndex(Parse *, Expr *, int*);
11815 SQLITE_PRIVATE void sqlite3ExprSetHeight(Parse *pParse, Expr *p);
58163 Expr *pExpr, /* The expression to evaluate */
71701 SQLITE_PRIVATE int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){
71852 Expr *pExpr, /* Transform this into an alias to the result set */
71855 Expr *pOrig; /* The iCol-th column of the result set */
71856 Expr *pDup; /* Copy of pOrig */
71892 ** prevents ExprDelete() from deleting the Expr structure itself,
71934 Expr *pExpr /* Make this EXPR node point to the selected column */
72104 Expr *pOrig;
72209 SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *db, SrcList *pSrc, int iSrc, int iCol){
72210 Expr *p = sqlite3ExprAlloc(db, TK_COLUMN, 0, 0);
72239 static int resolveExprStep(Walker *pWalker, Expr *pExpr){
72293 Expr *pRight;
72426 Expr *pE /* Expression we are trying to match */
72465 Expr *pE /* The specific ORDER BY term */
72569 Expr *pE, *pDup;
72691 Expr *pE = pItem->pExpr;
72788 Expr *pX = pEList->a[i].pExpr;
72925 ** Expr.op Changed to TK_COLUMN
72926 ** Expr.pTab Points to the Table object for X.Y
72927 ** Expr.iColumn The column index in X.Y. -1 for the rowid.
72928 ** Expr.iTable The VDBE cursor number for X.Y
72956 Expr *pExpr /* The expression to be analyzed. */
73053 SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr){
73082 SQLITE_PRIVATE Expr *sqlite3ExprSetColl(Expr *pExpr, CollSeq *pColl){
73097 SQLITE_PRIVATE Expr *sqlite3ExprSetCollByToken(Parse *pParse, Expr *pExpr, Token *pCollName){
73112 SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr){
73114 Expr *p = pExpr;
73151 SQLITE_PRIVATE char sqlite3CompareAffinity(Expr *pExpr, char aff2){
73178 static char comparisonAffinity(Expr *pExpr){
73201 SQLITE_PRIVATE int sqlite3IndexAffinityOk(Expr *pExpr, char idx_affinity){
73217 static u8 binaryCompareP5(Expr *pExpr1, Expr *pExpr2, int jumpIfNull){
73237 Expr *pLeft,
73238 Expr *pRight
73262 Expr *pLeft, /* The left operand */
73263 Expr *pRight, /* The right operand */
73308 static void heightOfExpr(Expr *p, int *pnHeight){
73337 ** Set the Expr.nHeight variable in the structure passed as an
73338 ** argument. An expression with no children, Expr.pList or
73339 ** Expr.pSelect member has a height of 1. Any other expression
73341 ** referenced Expr plus one.
73343 static void exprSetHeight(Expr *p){
73356 ** Set the Expr.nHeight variable using the exprSetHeight() function. If
73360 SQLITE_PRIVATE void sqlite3ExprSetHeight(Parse *pParse, Expr *p){
73379 ** This routine is the core allocator for Expr nodes.
73398 SQLITE_PRIVATE Expr *sqlite3ExprAlloc(
73404 Expr *pNew;
73415 pNew = sqlite3DbMallocZero(db, sizeof(Expr)+nExtra);
73446 SQLITE_PRIVATE Expr *sqlite3Expr(
73458 ** Attach subtrees pLeft and pRight to the Expr node pRoot.
73465 Expr *pRoot,
73466 Expr *pLeft,
73467 Expr *pRight
73493 ** Allocate a Expr node which joins as many as two subtrees.
73496 ** Expr node. Or, if an OOM error occurs, set pParse->db->mallocFailed,
73499 SQLITE_PRIVATE Expr *sqlite3PExpr(
73502 Expr *pLeft, /* Left operand */
73503 Expr *pRight, /* Right operand */
73506 Expr *p = sqlite3ExprAlloc(pParse->db, op, pToken, 1);
73518 SQLITE_PRIVATE Expr *sqlite3ExprAnd(sqlite3 *db, Expr *pLeft, Expr *pRight){
73524 Expr *pNew = sqlite3ExprAlloc(db, TK_AND, 0, 0);
73534 SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token *pToken){
73535 Expr *pNew;
73565 SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr){
73636 SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3 *db, Expr *p){
73662 static int exprStructSize(Expr *p){
73673 ** dupedExprStructSize() Size of only the Expr structure
73674 ** dupedExprNodeSize() Size of Expr + space for token
73675 ** dupedExprSize() Expr + token + subtree components
73680 ** (1) the space required for a copy of the Expr structure only and
73693 ** (unreduced) Expr objects as they or originally constructed by the parser.
73695 ** later parts of teh Expr object and that extra information might get chopped
73702 static int dupedExprStructSize(Expr *p, int flags){
73723 ** of the Expr structure and a copy of the Expr.u.zToken string (if that
73726 static int dupedExprNodeSize(Expr *p, int flags){
73739 ** The value returned includes space to create a copy of the Expr struct
73740 ** itself and the buffer referred to by Expr.u.zToken, if any.
73743 ** space to duplicate all Expr nodes in the tree formed by Expr.pLeft
73744 ** and Expr.pRight variables (but not for any structures pointed to or
73745 ** descended from the Expr.x.pList or Expr.x.pSelect variables).
73747 static int dupedExprSize(Expr *p, int flags){
73766 static Expr *exprDup(sqlite3 *db, Expr *p, int flags, u8 **pzBuffer){
73767 Expr *pNew = 0; /* Value to return */
73775 /* Figure out where to write the new Expr structure. */
73782 pNew = (Expr *)zAlloc;
73864 ** truncated version of the usual Expr structure that will be stored as
73867 SQLITE_PRIVATE Expr *sqlite3ExprDup(sqlite3 *db, Expr *p, int flags){
73886 Expr *pOldExpr = pOldItem->pExpr;
74004 Expr *pExpr /* Expression to be appended. Might be NULL */
74137 static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){
74174 static int exprIsConst(Expr *p, int initFlag){
74191 SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr *p){
74201 SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr *p){
74214 SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr *p){
74224 SQLITE_PRIVATE int sqlite3ExprIsInteger(Expr *p, int *pValue){
74268 SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr *p){
74293 const Expr *pExpr, /* Only generate OP_IsNull if this expr can be NULL */
74312 SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr *p, char aff){
74450 SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, int *prNotFound){
74465 Expr *pExpr = p->pEList->a[0].pExpr; /* Expression <column> */
74593 Expr *pExpr, /* The IN, SELECT, or EXISTS operator */
74633 Expr *pLeft = pExpr->pLeft; /* the LHS of the IN operator */
74705 Expr *pE2 = pItem->pExpr;
74813 Expr *pExpr, /* The IN expression */
74965 ** Expr.u.zToken is always UTF8 and zero-terminated.
74967 static void codeInteger(Parse *pParse, Expr *pExpr, int negFlag, int iMem){
75278 SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){
75489 Expr *pLeft = pExpr->pLeft;
75676 Expr *pLeft = pExpr->pLeft;
75678 Expr *pRight = pLItem->pExpr;
75707 ** trigger programs. In this case Expr.iTable is set to 1 for the
75708 ** new.* pseudo-table, or 0 for the old.* pseudo-table. Expr.iColumn
75786 Expr opCompare; /* The X==Ei expression */
75787 Expr cacheX; /* Cached expression X */
75788 Expr *pX; /* The X expression */
75789 Expr *pTest = 0; /* X==Ei (form A) or just Ei (form B) */
75886 SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse *pParse, Expr *pExpr, int *pReg){
75903 SQLITE_PRIVATE int sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){
75931 SQLITE_PRIVATE int sqlite3ExprCodeAndCache(Parse *pParse, Expr *pExpr, int target){
75970 static int isAppropriateForFactoring(Expr *p){
76018 static int evalConstExpr(Walker *pWalker, Expr *pExpr){
76073 SQLITE_PRIVATE void sqlite3ExprCodeConstants(Parse *pParse, Expr *pExpr){
76103 Expr *pExpr = pItem->pExpr;
76127 Expr *pExpr, /* The BETWEEN expression */
76132 Expr exprAnd; /* The AND operator in x>=y AND x<=z */
76133 Expr compLeft; /* The x>=y term */
76134 Expr compRight; /* The x<=z term */
76135 Expr exprX; /* The x subexpression */
76183 SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){
76303 SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int jumpIfNull){
76455 SQLITE_PRIVATE int sqlite3ExprCompare(Expr *pA, Expr *pB){
76503 Expr *pExprA = pA->a[i].pExpr;
76504 Expr *pExprB = pB->a[i].pExpr;
76552 static int analyzeAggregate(Walker *pWalker, Expr *pExpr){
76602 Expr *pE = pTerm->pExpr;
76695 SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext *pNC, Expr *pExpr){
77408 Expr *pDflt; /* Default value for the new column */
78361 static int resolveAttachExpr(NameContext *pName, Expr *pExpr)
78632 Expr *pAuthArg, /* Expression to pass to authorization callback */
78633 Expr *pFilename, /* Name of database file */
78634 Expr *pDbname, /* Name of the database to use internally */
78635 Expr *pKey /* Database key for encryption extension */
78702 SQLITE_PRIVATE void sqlite3Detach(Parse *pParse, Expr *pDbname){
78724 SQLITE_PRIVATE void sqlite3Attach(Parse *pParse, Expr *p, Expr *pDbname, Expr *pKey){
78832 Expr *pExpr /* The expression to be fixed to one database */
79021 Expr *pExpr, /* The expression to check authorization on */
80337 Expr *pCheckExpr /* The check expression */
80838 ** This will force all the Expr.token.z values to be dynamically
81760 Expr *pExpr = pList->a[i].pExpr;
82446 Expr *pOn, /* The ON clause of a join */
83490 Expr *pWhere, /* Optional WHERE clause to be added */
83529 SQLITE_PRIVATE Expr *sqlite3LimitWhere(
83532 Expr *pWhere, /* The WHERE clause. May be null */
83534 Expr *pLimit, /* The LIMIT clause. May be null */
83535 Expr *pOffset, /* The OFFSET clause. May be null */
83538 Expr *pWhereRowid = NULL; /* WHERE rowid .. */
83539 Expr *pInClause = NULL; /* WHERE rowid IN ( select ) */
83540 Expr *pSelectRowid = NULL; /* SELECT rowid ... */
83624 Expr *pWhere /* The WHERE clause. May be null */
85530 SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocase, char *aWc){
86141 Expr *pWhere = 0; /* WHERE clause to scan with */
86153 /* Create an Expr object representing an SQL expression like:
86162 Expr *pLeft; /* Value from parent table row */
86163 Expr *pRight; /* Column ref to child table */
86164 Expr *pEq; /* Expression (pLeft = pRight) */
86198 Expr *pEq; /* Expression (pLeft = pRight) */
86199 Expr *pLeft; /* Value from parent table row */
86200 Expr *pRight; /* Column ref to child table */
86650 Expr *pWhere = 0; /* WHERE clause of trigger step */
86654 Expr *pWhen = 0; /* WHEN clause for the trigger */
86665 Expr *pEq; /* tFromCol = OLD.tToCol */
86708 Expr *pNew;
86715 Expr *pDflt = pFKey->pFrom->aCol[iFromCol].pDflt;
86735 Expr *pRaise;
92401 Expr *pWhere, /* the WHERE clause */
92403 Expr *pHaving, /* the HAVING clause */
92406 Expr *pLimit, /* LIMIT value. NULL means not used */
92407 Expr *pOffset /* OFFSET value. NULL means no offset */
92593 Expr **ppWhere /* IN/OUT: The WHERE clause to add to */
92596 Expr *pE1;
92597 Expr *pE2;
92598 Expr *pEq;
92620 ** And set the Expr.iRightJoinTable to iTable for every term in the
92630 ** The Expr.iRightJoinTable tells the WHERE clause processing that the
92644 static void setJoinExpr(Expr *p, int iTable){
93348 Expr *pExpr,
93416 Expr *p = pS->pEList->a[iCol].pExpr;
93450 Expr *p = pS->pEList->a[0].pExpr;
93486 Expr *p = pEList->a[i].pExpr;
93537 Expr *p;
93592 ExprList *pEList, /* Expr list from which to derive column names */
93601 Expr *p; /* Expression for a single result column */
93618 Expr *pColExpr = p; /* The expression that is the result column name */
93692 Expr *p;
94013 Expr *pLimit, *pOffset; /* Saved values of p->nLimit and p->nOffset */
94111 Expr *pLimit, *pOffset;
94568 Expr *pNew = sqlite3Expr(db, TK_INTEGER, 0);
94600 Expr *pTerm = pOrderBy->a[i].pExpr;
94861 static Expr *substExpr(
94863 Expr *pExpr, /* Expr in which substitution occurs */
94872 Expr *pNew;
95058 Expr *pWhere; /* The WHERE clause */
95215 Expr *pLimit = p->pLimit;
95255 ** complete, since there may still exist Expr.pTab entries that
95426 Expr *pExpr;
95458 Expr *pExpr;
95622 Expr *pE = pEList->a[k].pExpr;
95641 Expr *pE = a[k].pExpr;
95678 Expr *pExpr, *pRight;
95711 Expr *pLeft;
95757 static int exprWalkNoop(Walker *NotUsed, Expr *NotUsed2){
95891 Expr *pE = pFunc->pExpr;
96086 Expr *pWhere; /* The WHERE clause. May be NULL */
96089 Expr *pHaving; /* The HAVING clause. May be NULL */
96846 ** parse structures such as Select or Expr. Such printouts are useful
96854 SQLITE_PRIVATE void sqlite3PrintExpr(Expr *p){
97222 Expr *pWhen, /* WHEN clause */
97565 Expr *pWhere, /* The WHERE clause */
97589 Expr *pWhere /* The WHERE clause */
97957 Expr *pWhen = 0; /* Duplicate of trigger WHEN expression */
98283 Expr *pRowidExpr, /* Expression used to recompute the rowid */
98285 Expr *pWhere, /* WHERE clause of the UPDATE statement */
98352 Expr *pWhere, /* The WHERE clause. May be null */
98369 Expr *pRowidExpr = 0; /* Expression defining the new record number */
98860 Expr *pRowid, /* Expression used to recompute the rowid */
98862 Expr *pWhere, /* WHERE clause of the UPDATE statement */
98868 Expr *pExpr; /* Temporary expression */
100211 Expr *pExpr /* First argument to the function */
100440 Expr *pExpr; /* Pointer to the subexpression that is this term */
100513 ** SrcList_item.iCursor and Expr.iTable fields. For any given WHERE
100663 ** The new WhereTerm object is constructed from Expr p and with wtFlags.
100680 static int whereClauseInsert(WhereClause *pWC, Expr *p, u8 wtFlags){
100726 static void whereSplit(WhereClause *pWC, Expr *pExpr, int op){
100779 ** sets their opcodes to TK_COLUMN and their Expr.iTable fields to
100786 static Bitmask exprTableUsage(WhereMaskSet *pMaskSet, Expr *p){
100870 static void exprCommute(Parse *pParse, Expr *pExpr){
100879 SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
100939 Expr *pX = pTerm->pExpr;
100996 Expr *pExpr, /* Test this expression */
100997 Expr **ppPrefix, /* Pointer to TK_STRING expression with pattern prefix */
101002 Expr *pRight, *pLeft; /* Right and left size of LIKE operator */
101049 Expr *pPrefix;
101090 Expr *pExpr /* Test this expression */
101115 static void transferJoinMarkings(Expr *pDerived, Expr *pBase){
101205 Expr *pExpr = pTerm->pExpr; /* The expression of the term */
101393 Expr *pDup; /* A transient duplicate expression */
101395 Expr *pLeft = 0; /* The LHS of the IN operator */
101396 Expr *pNew; /* The complete IN operator */
101456 Expr *pExpr; /* The expression to be analyzed */
101460 Expr *pStr1 = 0; /* RHS of LIKE/GLOB operator */
101499 Expr *pLeft = pExpr->pLeft;
101500 Expr *pRight = pExpr->pRight;
101508 Expr *pDup;
101561 Expr *pNewExpr;
101601 Expr *pLeft; /* LHS of LIKE/GLOB operator */
101602 Expr *pStr2; /* Copy of pStr1 - RHS of LIKE/GLOB operator */
101603 Expr *pNewExpr1;
101604 Expr *pNewExpr2;
101660 Expr *pRight, *pLeft;
101669 Expr *pNewExpr;
101703 Expr *pNewExpr;
101704 Expr *pLeft = pExpr->pLeft;
101775 Expr *p = pList->a[i].pExpr;
101826 Expr *p = pDistinct->a[i].pExpr;
101830 Expr *pX = pTerm->pExpr;
101878 Expr *p = pDistinct->a[i].pExpr;
101967 Expr *pExpr; /* The expression of the ORDER BY pTerm */
102414 Expr *pX = pTerm->pExpr;
102508 Expr *pExpr = pOrderBy->a[i].pExpr;
102565 Expr *pExpr = pOrderBy->a[i].pExpr;
102907 Expr *pExpr,
102987 Expr *pExpr = pLower->pExpr->pRight;
102993 Expr *pExpr = pUpper->pExpr->pRight;
103063 Expr *pExpr, /* Expression for VALUE in the x=VALUE constraint */
103370 Expr *pExpr = pTerm->pExpr;
103801 Expr *pX = pTerm->pExpr;
103945 Expr *pRight = pTerm->pExpr->pRight;
104256 Expr *pX; /* The expression that defines the start bound */
104286 Expr *pX;
104443 Expr *pRight = pRangeStart->pExpr->pRight;
104483 Expr *pRight = pRangeEnd->pExpr->pRight;
104722 Expr *pE;
104900 Expr *pWhere, /* The WHERE clause */
104989 ** its Expr.iRightJoinTable value to find the bitmask of the right table
105570 Expr *pLimit; /* The LIMIT expression. NULL if there is no limit */
105571 Expr *pOffset; /* The OFFSET expression. NULL if there is none */
105609 /* Construct a new Expr object from a single identifier. Use the
105610 ** new Expr to populate pOut. Set the span of pOut to be the identifier
105650 static void binaryToUnaryIfNull(Parse *pParse, Expr *pY, Expr *pA, int op){
105737 Expr* yy314;
107944 Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0);
107950 Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0);
107951 Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
107952 Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0);
108152 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
108153 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0);
108160 Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0);
108161 Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
108162 Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0);
108163 Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0);
108392 Expr *p = yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0);
108445 Expr *p = 0;
108458 Expr *p = 0;
118378 Fts3Expr *pExpr, /* Expr. to advance to next matching row */
118582 Fts3Expr *pExpr, /* Expr to test. May or may not be root. */