Lines Matching refs:pLeft
19408 Expr *pLeft; /* Left subnode */ member
19545 #define EXPR_TOKENONLYSIZE offsetof(Expr,pLeft) /* Fewer features */
20957 SQLITE_PRIVATE Select *sqlite3MultiValues(Parse *pParse, Select *pLeft, ExprList *pRow);
32632 pExpr = pExpr->pLeft; in sqlite3RecordErrorOffsetOfExpr()
33507 sqlite3TreeViewExpr(pView, p->pLimit->pLeft, p->pLimit->pRight!=0); in sqlite3TreeViewSelect()
33708 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
33768 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
33819 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
33833 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
33874 sqlite3TreeViewExprList(pView, pFarg, pWin!=0 || pExpr->pLeft, 0); in sqlite3TreeViewExpr()
33875 if( pExpr->pLeft ){ in sqlite3TreeViewExpr()
33876 Expr *pOB = pExpr->pLeft; in sqlite3TreeViewExpr()
33918 sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); in sqlite3TreeViewExpr()
33941 pX = pExpr->pLeft; in sqlite3TreeViewExpr()
33966 sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); in sqlite3TreeViewExpr()
33982 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
34002 pExpr->pRight==pExpr->pLeft ? " (SELECT-owner)" : ""); in sqlite3TreeViewExpr()
34003 assert( ExprUseXSelect(pExpr->pLeft) ); in sqlite3TreeViewExpr()
34004 sqlite3TreeViewSelect(pView, pExpr->pLeft->x.pSelect, 0); in sqlite3TreeViewExpr()
34009 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
34036 sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); in sqlite3TreeViewExpr()
34040 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
57478 struct RowSetEntry *pLeft; /* Left subtree (smaller entries) */ member
57700 if( pIn->pLeft ){
57702 rowSetTreeToList(pIn->pLeft, ppFirst, &p);
57734 struct RowSetEntry *pLeft; /* Left subtree */ local
57743 pLeft = rowSetNDeepTree(ppList, iDepth-1);
57748 return pLeft;
57750 p->pLeft = pLeft;
57756 p->pLeft = p->pRight = 0;
57768 struct RowSetEntry *pLeft; /* Left subtree */ local
57773 p->pLeft = p->pRight = 0;
57775 pLeft = p;
57778 p->pLeft = pLeft;
57850 if( pTree->pLeft==0 ){
57851 pTree->pLeft = rowSetListToTree(p);
57855 rowSetTreeToList(pTree->pLeft, &pAux, &pTail);
57856 pTree->pLeft = 0;
57865 pTree->pLeft = rowSetListToTree(p);
57879 p = pTree->pLeft;
57884 p = p->pLeft;
85451 while( (op = pExpr->op)==TK_UPLUS || op==TK_SPAN ) pExpr = pExpr->pLeft;
85464 rc = valueFromExpr(db, pExpr->pLeft, enc, aff, ppVal, pCtx);
85484 Expr *pLeft = pExpr->pLeft; local
85485 if( (pLeft->op==TK_INTEGER || pLeft->op==TK_FLOAT) ){
85486 if( ExprHasProperty(pLeft, EP_IntValue)
85487 || pLeft->u.zToken[0]!='0' || (pLeft->u.zToken[1] & ~0x20)!='X'
85489 pExpr = pLeft;
85537 if( SQLITE_OK==valueFromExpr(db,pExpr->pLeft,enc,affinity,&pVal,pCtx)
87784 displayP4Expr(p, pExpr->pLeft);
107843 if( pExpr->pLeft && sqlite3WalkExprNN(pWalker, pExpr->pLeft) ){
108701 assert( pExpr->pLeft==0 && pExpr->pRight==0 );
108799 sqlite3ExprDelete(db, pExpr->pLeft);
108800 pExpr->pLeft = 0;
108836 sqlite3ExprDelete(db, pExpr->pLeft);
108837 pExpr->pLeft = 0;
109061 sqlite3WalkExpr(pWalker, pExpr->pLeft);
109063 if( sqlite3ExprCanBeNull(pExpr->pLeft) ){
109090 sqlite3ExprDelete(pParse->db, pExpr->pLeft);
109091 pExpr->pLeft = 0;
109115 Expr *pLeft = pExpr->pLeft;
109126 zDb = pLeft->u.zToken;
109127 pLeft = pRight->pLeft;
109130 assert( ExprUseUToken(pLeft) && ExprUseUToken(pRight) );
109131 zTable = pLeft->u.zToken;
109135 sqlite3RenameTokenRemap(pParse, (void*)&pExpr->y.pTab, (void*)pLeft);
109157 assert( pExpr->pLeft==0 || pExpr->pLeft->op==TK_ORDER );
109319 else if( is_agg==0 && pExpr->pLeft ){
109334 else if( ExprHasProperty(pExpr, EP_WinFunc) || pExpr->pLeft ){
109339 if( pExpr->pLeft ){
109340 assert( pExpr->pLeft->op==TK_ORDER );
109341 assert( ExprUseXList(pExpr->pLeft) );
109342 sqlite3WalkExprList(pWalker, pExpr->pLeft->x.pList);
109456 assert( pExpr->pLeft!=0 );
109457 nLeft = sqlite3ExprVectorSize(pExpr->pLeft);
109696 while( pParent->pLeft->op==TK_COLLATE ) pParent = pParent->pLeft;
109697 assert( pParent->pLeft==pE );
109698 pParent->pLeft = pNew;
110413 assert( pExpr->pLeft!=0 && ExprUseXSelect(pExpr->pLeft) );
110416 assert( pExpr->iTable==pExpr->pLeft->x.pSelect->pEList->nExpr );
110418 pExpr->pLeft->x.pSelect->pEList->a[pExpr->iColumn].pExpr
110431 pExpr = pExpr->pLeft;
110458 pExpr = pExpr->pLeft;
110529 pNew->pLeft = pExpr;
110553 pExpr = pExpr->pLeft;
110571 pExpr = pExpr->pLeft;
110613 p = p->pLeft;
110629 if( p->pLeft && (p->pLeft->flags & EP_Collate)!=0 ){
110630 p = p->pLeft;
110714 assert( pExpr->pLeft );
110715 aff = sqlite3ExprAffinity(pExpr->pLeft);
110771 const Expr *pLeft,
110775 assert( pLeft );
110776 if( pLeft->flags & EP_Collate ){
110777 pColl = sqlite3ExprCollSeq(pParse, pLeft);
110781 pColl = sqlite3ExprCollSeq(pParse, pLeft);
110799 return sqlite3BinaryCompareCollSeq(pParse, p->pRight, p->pLeft);
110801 return sqlite3BinaryCompareCollSeq(pParse, p->pLeft, p->pRight);
110810 Expr *pLeft, /* The left operand */
110824 p4 = sqlite3BinaryCompareCollSeq(pParse, pRight, pLeft);
110826 p4 = sqlite3BinaryCompareCollSeq(pParse, pLeft, pRight);
110828 p5 = binaryCompareP5(pLeft, pRight, jumpIfNull);
110949 pRet->pLeft = pVector;
111050 Expr *pLeft = pExpr->pLeft;
111052 int nLeft = sqlite3ExprVectorSize(pLeft);
111081 regLeft = exprCodeSubselect(pParse, pLeft);
111091 r1 = exprVectorRegister(pParse, pLeft, i, regLeft, &pL, ®Free1);
111196 int nHeight = p->pLeft ? p->pLeft->nHeight : 0;
111344 Expr *pLeft,
111349 sqlite3ExprDelete(db, pLeft);
111363 if( pLeft ){
111364 pRoot->pLeft = pLeft;
111365 pRoot->flags |= EP_Propagate & pLeft->flags;
111367 if( pLeft->nHeight>=pRoot->nHeight ){
111368 pRoot->nHeight = pLeft->nHeight+1;
111385 Expr *pLeft, /* Left operand */
111394 sqlite3ExprAttachSubtrees(pParse->db, p, pLeft, pRight);
111397 sqlite3ExprDelete(pParse->db, pLeft);
111484 SQLITE_PRIVATE Expr *sqlite3ExprAnd(Parse *pParse, Expr *pLeft, Expr *pRight){
111486 if( pLeft==0 ){
111489 return pLeft;
111491 u32 f = pLeft->flags | pRight->flags;
111495 sqlite3ExprDeferredDelete(pParse, pLeft);
111499 return sqlite3PExpr(pParse, TK_AND, pLeft, pRight);
111575 assert( pExpr->pLeft==0 );
111595 pExpr->pLeft = pOB;
111729 assert( p->pLeft==0 );
111752 if( p->pLeft && p->op!=TK_SELECT_COLUMN ){
111753 Expr *pLeft = p->pLeft;
111755 && !ExprHasProperty(pLeft, EP_Static)
111759 p = pLeft;
111762 sqlite3ExprDeleteNN(db, pLeft);
111872 if( p->pLeft || p->x.pList ){
111910 if( p->pLeft ) nByte += dupedExprSize(p->pLeft);
112053 pNew->pLeft = p->pLeft;
112055 || p->pRight==p->pLeft
112056 || ExprHasProperty(p->pLeft, EP_Subquery) );
112058 pNew->pLeft = p->pLeft ?
112059 exprDup(db, p->pLeft, EXPRDUP_REDUCE, &sEdupBuf) : 0;
112065 pNew->pLeft = p->pLeft;
112067 || p->pRight==p->pLeft
112068 || ExprHasProperty(p->pLeft, EP_Subquery) );
112070 pNew->pLeft = sqlite3ExprDup(db, p->pLeft, 0);
112189 pNewExpr->pLeft = pNewExpr->pRight;
112191 if( pOldExpr->pLeft!=pPriorSelectColOld ){
112192 pPriorSelectColOld = pOldExpr->pLeft;
112196 pNewExpr->pLeft = pPriorSelectColNew;
112711 Expr *pLeft = sqlite3ExprSimplifiedAndOr(pExpr->pLeft);
112712 if( ExprAlwaysTrue(pLeft) || ExprAlwaysFalse(pRight) ){
112713 pExpr = pExpr->op==TK_AND ? pRight : pLeft;
112714 }else if( ExprAlwaysTrue(pRight) || ExprAlwaysFalse(pLeft) ){
112715 pExpr = pExpr->op==TK_AND ? pLeft : pRight;
113169 rc = sqlite3ExprIsInteger(p->pLeft, pValue, 0);
113174 if( sqlite3ExprIsInteger(p->pLeft, &v, 0) ){
113224 p = p->pLeft;
113267 p = p->pLeft;
113393 pLHS = pIn->pLeft;
113394 pIn->pLeft = 0;
113396 pIn->pLeft = pLHS;
113561 Expr *pLhs = sqlite3VectorFieldSubexpr(pX->pLeft, i);
113604 Expr *pLhs = sqlite3VectorFieldSubexpr(pX->pLeft, i);
113694 n = sqlite3ExprVectorSize(pX->pLeft);
113712 Expr *pLeft = pExpr->pLeft;
113713 int nVal = sqlite3ExprVectorSize(pLeft);
113722 Expr *pA = sqlite3VectorFieldSubexpr(pLeft, i);
113847 Expr *pLeft; /* the LHS of the IN operator */
113925 pLeft = pExpr->pLeft;
113926 nVal = sqlite3ExprVectorSize(pLeft);
113995 Expr *p = sqlite3VectorFieldSubexpr(pLeft, i);
114014 affinity = sqlite3ExprAffinity(pLeft);
114022 pKeyInfo->aColl[0] = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
114172 sqlite3ExprDup(db, pSel->pLimit->pLeft, 0), pLimit);
114174 sqlite3ExprDeferredDelete(pParse, pSel->pLimit->pLeft);
114175 pSel->pLimit->pLeft = pLimit;
114214 int nVector = sqlite3ExprVectorSize(pIn->pLeft);
114221 sqlite3VectorErrorMsg(pParse, pIn->pLeft);
114269 Expr *pLeft; /* The LHS of the IN operator */
114280 pLeft = pExpr->pLeft;
114283 nVector = sqlite3ExprVectorSize(pExpr->pLeft);
114326 rLhsOrig = exprCodeVector(pParse, pLeft, &iDummy);
114355 pColl = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
114404 Expr *p = sqlite3VectorFieldSubexpr(pExpr->pLeft, i);
114479 p = sqlite3VectorFieldSubexpr(pLeft, i);
115150 iReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft,target);
115290 sqlite3ExprCode(pParse, pExpr->pLeft, target);
115309 Expr *pLeft = pExpr->pLeft;
115310 if( sqlite3ExprIsVector(pLeft) ){
115313 r1 = sqlite3ExprCodeTemp(pParse, pLeft, ®Free1);
115316 codeCompare(pParse, pLeft, pExpr->pRight, op, r1, r2,
115358 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
115366 Expr *pLeft = pExpr->pLeft;
115367 assert( pLeft );
115368 if( pLeft->op==TK_INTEGER ){
115369 codeInteger(pParse, pLeft, 1, target);
115372 }else if( pLeft->op==TK_FLOAT ){
115374 codeReal(v, pLeft->u.zToken, 1, target);
115383 r2 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free2);
115393 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
115401 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
115416 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
115584 Expr *pLeft = pExpr->pLeft;
115585 if( pLeft->iTable==0 || pParse->withinRJSubrtn > pLeft->op2 ){
115586 pLeft->iTable = sqlite3CodeSubselect(pParse, pLeft);
115587 pLeft->op2 = pParse->withinRJSubrtn;
115589 assert( pLeft->op==TK_SELECT || pLeft->op==TK_ERROR );
115590 n = sqlite3ExprVectorSize(pLeft);
115595 return pLeft->iTable + pExpr->iColumn;
115634 assert( pExpr->pLeft );
115635 sqlite3ExprCode(pParse, pExpr->pLeft, target);
115639 pExpr = pExpr->pLeft;
115645 pExpr = pExpr->pLeft;
115747 sqlite3ExprCode(pParse, pExpr->pLeft, target);
115794 if( (pX = pExpr->pLeft)!=0 ){
115805 opCompare.pLeft = pDel;
115858 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
116159 pDel = sqlite3ExprDup(db, pExpr->pLeft, 0);
116162 exprAnd.pLeft = &compLeft;
116165 compLeft.pLeft = pDel;
116168 compRight.pLeft = pDel;
116233 sqlite3ExprIfFalse(pParse, pExpr->pLeft, d2,
116239 sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull);
116246 sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull);
116258 sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest,
116261 sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest,
116279 if( sqlite3ExprIsVector(pExpr->pLeft) ) goto default_expr;
116281 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
116283 codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op,
116303 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
116406 sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull);
116411 sqlite3ExprIfTrue(pParse, pExpr->pLeft, d2,
116420 sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull);
116433 sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest,
116438 sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest,
116456 if( sqlite3ExprIsVector(pExpr->pLeft) ) goto default_expr;
116458 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
116460 codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op,
116478 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1);
116631 if( pA->op==TK_COLLATE && sqlite3ExprCompare(pParse, pA->pLeft,pB,iTab)<2 ){
116634 if( pB->op==TK_COLLATE && sqlite3ExprCompare(pParse, pA,pB->pLeft,iTab)<2 ){
116679 && sqlite3ExprCompare(pParse, pA->pLeft, pB->pLeft, iTab) ) return 2;
116760 return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, 1);
116774 return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, 1);
116801 return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, seenNot);
116806 return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, 1);
116810 return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, 1);
116855 if( pExpr->pLeft!=0 ) return 0;
116903 && (sqlite3ExprImpliesExpr(pParse, pE1, pE2->pLeft, iTab)
116909 && exprImpliesNotNull(pParse, pE1, pE2->pLeft, iTab, 0)
116995 bothImplyNotNullRow(pWalker, pExpr->pLeft, pExpr->pRight);
117004 sqlite3WalkExpr(pWalker, pExpr->pLeft);
117013 sqlite3WalkExpr(pWalker, pExpr->pLeft);
117027 Expr *pLeft = pExpr->pLeft;
117037 assert( pLeft->op!=TK_COLUMN || ExprUseYTab(pLeft) );
117039 if( (pLeft->op==TK_COLUMN
117040 && ALWAYS(pLeft->y.pTab!=0)
117041 && IsVirtual(pLeft->y.pTab))
117082 p = p->pLeft;
117085 if( sqlite3ExprImpliesNonNullRow(p->pLeft, iTab, isRJ) ) return 1;
117261 if( pExpr->pLeft ){
117262 assert( pExpr->pLeft->op==TK_ORDER );
117263 assert( ExprUseXList(pExpr->pLeft) );
117264 assert( pExpr->pLeft->x.pList!=0 );
117265 sqlite3WalkExprList(&w, pExpr->pLeft->x.pList);
117552 if( pExpr->pLeft
117559 assert( pExpr->pLeft->op==TK_ORDER );
117560 assert( ExprUseXList(pExpr->pLeft) );
117562 pOBList = pExpr->pLeft->x.pList;
118137 if( pDflt && pDflt->pLeft->op==TK_NULL ){
124748 x.pLeft = pExpr;
124780 }else if( p->op==TK_COLLATE && p->pLeft->op==TK_STRING ){
124781 p->pLeft->op = TK_ID;
133911 Expr *pLeft; /* Value from parent table row */
133918 pLeft = exprTableRegister(pParse, pTab, regData, iCol);
133923 pEq = sqlite3PExpr(pParse, TK_EQ, pLeft, pRight);
133943 Expr *pLeft; /* Value from parent table row */
133946 pLeft = exprTableRegister(pParse, pTab, regData, -1);
133948 pNe = sqlite3PExpr(pParse, TK_NE, pLeft, pRight);
133955 pLeft = exprTableRegister(pParse, pTab, regData, iCol);
133957 pEq = sqlite3PExpr(pParse, TK_IS, pLeft, pRight);
135490 SQLITE_PRIVATE Select *sqlite3MultiValues(Parse *pParse, Select *pLeft, ExprList *pRow){
135495 || (pLeft->pSrc->nSrc==0 &&
135496 exprListIsNoAffinity(pParse,pLeft->pEList)==0) /* condition (d) above */
135502 if( pLeft->pSrc->nSrc ){
135503 sqlite3MultiValuesEnd(pParse, pLeft);
135505 }else if( pLeft->pPrior ){
135507 f = (f & pLeft->selFlags);
135510 pLeft->selFlags &= ~(u32)SF_MultiValue;
135513 pSelect->pPrior = pLeft;
135514 pLeft = pSelect;
135519 if( pLeft->pSrc->nSrc==0 ){
135536 pRet->pPrior = pLeft->pPrior;
135537 pRet->op = pLeft->op;
135539 pLeft->pPrior = 0;
135540 pLeft->op = TK_SELECT;
135541 assert( pLeft->pNext==0 );
135548 if( sqlite3SrcItemAttachSubquery(pParse, p, pLeft, 0) ){
135562 dest.nSdst = pLeft->pEList->nExpr;
135565 pLeft->selFlags |= SF_MultiValue;
135566 sqlite3Select(pParse, pLeft, &dest);
135570 pLeft = pRet;
135573 p = &pLeft->pSrc->a[0];
135596 return pLeft;
145294 sqlite3SetJoinExpr(p->pLeft, iTable, joinFlag);
145324 assert( p->pLeft==0 );
145332 unsetJoinExpr(p->pLeft, iTable, nullable);
145361 SrcItem *pLeft; /* Left table being joined */
145365 pLeft = &pSrc->a[0];
145366 pRight = &pLeft[1];
145367 for(i=0; i<pSrc->nSrc-1; i++, pRight++, pLeft++){
145371 if( NEVER(pLeft->pSTab==0 || pRightTab==0) ) continue;
147373 assert( pLimit->pLeft!=0 );
147377 if( sqlite3ExprIsInteger(pLimit->pLeft, &n, pParse) ){
147387 sqlite3ExprCode(pParse, pLimit->pLeft, iLimit);
147857 && sqlite3ExprIsInteger(p->pLimit->pLeft, &nLimit, pParse)
148770 ifNullRow.pLeft = pCopy;
148817 pExpr->pLeft = substExpr(pSubst, pExpr->pLeft);
149731 Expr *pRight, *pLeft;
149740 findConstInWhere(pConst, pExpr->pLeft);
149745 pLeft = pExpr->pLeft;
149747 assert( pLeft!=0 );
149748 if( pRight->op==TK_COLUMN && sqlite3ExprIsConstant(pConst->pParse, pLeft) ){
149749 constInsert(pConst,pRight,pLeft,pExpr);
149751 if( pLeft->op==TK_COLUMN && sqlite3ExprIsConstant(pConst->pParse, pRight) ){
149752 constInsert(pConst,pLeft,pRight,pExpr);
149792 assert( pExpr->pLeft==0 );
149793 pExpr->pLeft = sqlite3ExprDup(pConst->pParse->db, pConst->apExpr[i*2+1], 0);
149826 propagateConstantExprRewriteOne(pConst, pExpr->pLeft, 0);
149828 if( sqlite3ExprAffinity(pExpr->pLeft)!=SQLITE_AFF_TEXT ){
150140 pWhere = pWhere->pLeft;
150176 Expr *pLeft = pWhere->pLeft;
150177 if( ALWAYS(pLeft)
150178 && pLeft->op==TK_COLUMN
150179 && pLeft->iColumn < 0
150639 Select *pLeft; /* Left-most SELECT statement */
150749 for(pLeft=pSel; pLeft->pPrior; pLeft=pLeft->pPrior);
150750 pEList = pLeft->pEList;
151036 assert( pE->op!=TK_DOT || (pE->pLeft!=0 && pE->pLeft->op==TK_ID) );
151077 assert( pE->pLeft!=0 );
151078 assert( !ExprHasProperty(pE->pLeft, EP_IntValue) );
151079 zTName = pE->pLeft->u.zToken;
151080 assert( ExprUseWOfst(pE->pLeft) );
151200 Expr *pLeft;
151201 pLeft = sqlite3Expr(db, TK_ID, zTabName);
151202 pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight);
151203 if( IN_RENAME_OBJECT && pE->pLeft ){
151204 sqlite3RenameTokenRemap(pParse, pLeft, pE->pLeft);
151207 pLeft = sqlite3Expr(db, TK_ID, zSchemaName);
151208 pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pExpr);
151458 if( pExpr->pLeft ){
151459 assert( pExpr->pLeft->op==TK_ORDER );
151460 assert( ExprUseXList(pExpr->pLeft) );
151461 sqlite3ExprAnalyzeAggList(pNC, pExpr->pLeft->x.pList);
151621 assert( pFunc->pFExpr->pLeft!=0 );
151622 assert( pFunc->pFExpr->pLeft->op==TK_ORDER );
151623 assert( ExprUseXList(pFunc->pFExpr->pLeft) );
151625 pOBList = pFunc->pFExpr->pLeft->x.pList;
151681 assert( pF->pFExpr->pLeft!=0 );
151682 assert( ExprUseXList(pF->pFExpr->pLeft) );
151683 assert( pF->pFExpr->pLeft->x.pList!=0 );
151684 nKey = pF->pFExpr->pLeft->x.pList->nExpr;
151786 assert( pF->pFExpr->pLeft!=0 );
151787 assert( pF->pFExpr->pLeft->op==TK_ORDER );
151788 assert( ExprUseXList(pF->pFExpr->pLeft) );
151789 pOBList = pF->pFExpr->pLeft->x.pList;
153350 pX = pBase->pLeft;
154773 assert( pTerm->pLeft!=0 );
156947 sCol[0].pLeft = &sCol[1];
156973 sCol[0].pLeft = pExpr;
156977 sCol[0].pLeft = &sCol[1];
160192 assert( pNew->pLeft!=0 );
160193 assert( ExprUseXList(pNew->pLeft) );
160195 pOrigLhs = pNew->pLeft->x.pList;
160218 pNew->pLeft->x.pList = pLhs;
160228 sqlite3ExprDelete(db, pNew->pLeft);
160229 pNew->pLeft = p;
160962 whereApplyPartialIndexConstraints(pTruth->pLeft, iTabCur, pWC);
161258 Expr *pLeft = pTerm->pExpr->pLeft;
161259 assert( pLeft!=0 );
161261 assert( pLeft->op==TK_VECTOR );
161262 assert( ExprUseXList(pLeft) );
161263 assert( iFld<=pLeft->x.pList->nExpr );
161264 pCompare->pLeft = pLeft->x.pList->a[iFld-1].pExpr;
161266 pCompare->pLeft = pLeft;
161275 pCompare->pLeft = 0;
162025 pAndExpr->pLeft = pOrExpr;
162148 pAndExpr->pLeft = 0;
162331 sEAlt.pLeft = pE->pLeft;
162660 if( pExpr->pLeft->op==TK_VECTOR
162662 || sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft, pExpr->pRight) !=
162663 sqlite3BinaryCompareCollSeq(pParse, pExpr->pRight, pExpr->pLeft)
162667 SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
162729 Expr *pRight, *pLeft; /* Right and left size of LIKE operator */
162747 pLeft = pList->a[1].pExpr;
162831 if( pLeft->op!=TK_COLUMN
162832 || sqlite3ExprAffinity(pLeft)!=SQLITE_AFF_TEXT
162833 || (ALWAYS( ExprUseYTab(pLeft) )
162834 && ALWAYS(pLeft->y.pTab)
162835 && IsVirtual(pLeft->y.pTab)) /* Might be numeric */
163006 Expr *pLeft = pExpr->pLeft;
163008 assert( pLeft->op!=TK_COLUMN || (ExprUseYTab(pLeft) && pLeft->y.pTab!=0) );
163009 if( ExprIsVtab(pLeft) ){
163016 SWAP(Expr*, pLeft, pRight);
163018 *ppLeft = pLeft;
163101 assert( pOne->pExpr->pLeft!=0 && pOne->pExpr->pRight!=0 );
163102 assert( pTwo->pExpr->pLeft!=0 && pTwo->pExpr->pRight!=0 );
163103 if( sqlite3ExprCompare(0,pOne->pExpr->pLeft, pTwo->pExpr->pLeft, -1) ) return;
163362 Expr *pLeft = 0;
163387 pLeft = pOrTerm->pExpr->pLeft;
163409 && sqlite3ExprCompare(pParse, pOrTerm->pExpr->pLeft, pLeft, -1)
163419 affLeft = sqlite3ExprAffinity(pOrTerm->pExpr->pLeft);
163436 Expr *pLeft = 0; /* The LHS of the IN operator */
163447 pLeft = pOrTerm->pExpr->pLeft;
163449 assert( pLeft!=0 );
163450 pDup = sqlite3ExprDup(db, pLeft, 0);
163499 aff1 = sqlite3ExprAffinity(pExpr->pLeft);
163508 && !sqlite3ExprCollSeqMatch(pParse, pExpr->pLeft, pExpr->pRight)
163675 prereqLeft = sqlite3WhereExprUsage(pMaskSet, pExpr->pLeft);
163688 if( pExpr->pLeft==0
163737 Expr *pLeft = sqlite3ExprSkipCollate(pExpr->pLeft);
163743 assert( pLeft->op==TK_VECTOR );
163744 assert( ExprUseXList(pLeft) );
163745 pLeft = pLeft->x.pList->a[pTerm->u.x.iField-1].pExpr;
163748 if( exprMightBeIndexed(pSrc, aiCurCol, pLeft, op) ){
163797 && 0==sqlite3ExprCanBeNull(pLeft)
163836 sqlite3ExprDup(db, pExpr->pLeft, 0),
163865 if( pExpr->pLeft->op==TK_COLUMN
163866 && pExpr->pLeft->iColumn>=0
163870 Expr *pLeft = pExpr->pLeft;
163875 sqlite3ExprDup(db, pLeft, 0),
163883 pNewTerm->leftCursor = pLeft->iTable;
163884 pNewTerm->u.x.leftColumn = pLeft->iColumn;
163913 Expr *pLeft; /* LHS of LIKE/GLOB operator */
163923 pLeft = pExpr->x.pList->a[1].pExpr;
163966 pNewExpr1 = sqlite3ExprDup(db, pLeft, 0);
163973 pNewExpr2 = sqlite3ExprDup(db, pLeft, 0);
164001 && (nLeft = sqlite3ExprVectorSize(pExpr->pLeft))>1
164003 && ( (pExpr->pLeft->flags & EP_xIsSelect)==0
164011 Expr *pLeft = sqlite3ExprForVectorField(pParse, pExpr->pLeft, i, nLeft);
164014 pNew = sqlite3PExpr(pParse, pExpr->op, pLeft, pRight);
164035 && pExpr->pLeft->op==TK_VECTOR
164044 for(i=0; i<sqlite3ExprVectorSize(pExpr->pLeft); i++){
164064 Expr *pRight = 0, *pLeft = 0;
164065 int res = isAuxiliaryVtabOperator(db, pExpr, &eOp2, &pLeft, &pRight);
164072 prereqColumn = sqlite3WhereExprUsage(pMaskSet, pLeft);
164085 pNewTerm->leftCursor = pLeft->iTable;
164086 pNewTerm->u.x.leftColumn = pLeft->iColumn;
164094 SWAP(Expr*, pLeft, pRight);
164137 sqlite3WhereSplit(pWC, pE2->pLeft, op);
164253 whereAddLimitExpr(pWC, p->iLimit, p->pLimit->pLeft,
164351 if( p->pLeft ) mask |= sqlite3WhereExprUsageNN(pMaskSet, p->pLeft);
164797 if( sqlite3ExprIsVector(pX->pLeft) ){
164801 inexpr.pLeft = pX->pLeft->x.pList->a[iField].pExpr;
164840 || sqlite3ExprCompareSkip(pTerm->pExpr->pLeft,
164876 assert(pX->pLeft);
165607 if( ALWAYS(pX->pLeft!=0)
165608 && sqlite3ExprAffinity(pX->pLeft)!=SQLITE_AFF_TEXT
165962 && (pE2 = pExpr->pLeft)->op==TK_COLUMN
166076 || (pExpr->op==TK_COLLATE && pExpr->pLeft->op==TK_COLUMN
166077 && pExpr->iColumn==pExpr->pLeft->iColumn) );
167520 int nCmp = sqlite3ExprVectorSize(pTerm->pExpr->pLeft);
167532 assert( ExprUseXList(pTerm->pExpr->pLeft) );
167533 pLhs = pTerm->pExpr->pLeft->x.pList->a[i].pExpr;
168078 if( !whereUsablePartialIndex(iTab,jointype,pWC,pWhere->pLeft) ) return 0;
168293 pPart = pPart->pLeft;
168297 Expr *pLeft = pPart->pLeft;
168301 if( pLeft->op!=TK_COLUMN ) return;
168304 if( pLeft->iColumn<0 ) return;
168305 aff = pIdx->pTable->aCol[pLeft->iColumn].affinity;
168315 p->iIdxCol = pLeft->iColumn;
168325 }else if( pLeft->iColumn<(BMS-1) ){
168326 *pMask &= ~((Bitmask)1 << pLeft->iColumn);
168918 if( pX->pLeft ){
175454 p->pLeft = p->pRight = 0;
179368 Expr *pRight, *pLeft, *pDot;
179371 pLeft = tokenExpr(pParse, TK_ID, yymsp[-2].minor.yy0);
179372 pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight);
179963 }else if( yymsp[-4].minor.yy590->pLeft->op==TK_VECTOR ){
179964 int nExpr = yymsp[-4].minor.yy590->pLeft->x.pList->nExpr;
189171 Fts3Expr *pLeft; /* Left operand */
193326 fts3EvalAllocateReaders(pCsr, pExpr->pLeft, pnToken, pnOr, pRc);
193368 char *pLeft;
193375 pLeft = p->doclist.aAll;
193383 pLeft = pList;
193389 pTab->bDescIdx, nDiff, pLeft, nLeft, &pRight, &nRight
193391 sqlite3_free(pLeft);
193982 fts3EvalStartReaders(pCsr, pExpr->pLeft, pRc);
193984 pExpr->bDeferred = (pExpr->pLeft->bDeferred && pExpr->pRight->bDeferred);
194044 assert( pExpr->pLeft && pExpr->pRight );
194046 pRoot = pExpr->pLeft;
194050 fts3EvalTokenCosts(pCsr, pRoot, pExpr->pLeft, ppTC, ppOr, pRc);
194434 Fts3Expr *pLeft = pExpr->pLeft;
194436 assert( !pLeft->bDeferred || !pRight->bDeferred );
194438 if( pLeft->bDeferred ){
194447 fts3EvalNextRow(pCsr, pLeft, pRc);
194448 pExpr->iDocid = pLeft->iDocid;
194449 pExpr->bEof = pLeft->bEof;
194452 fts3EvalNextRow(pCsr, pLeft, pRc);
194454 while( !pLeft->bEof && !pRight->bEof && *pRc==SQLITE_OK ){
194455 sqlite3_int64 iDiff = DOCID_CMP(pLeft->iDocid, pRight->iDocid);
194458 fts3EvalNextRow(pCsr, pLeft, pRc);
194463 pExpr->iDocid = pLeft->iDocid;
194464 pExpr->bEof = (pLeft->bEof || pRight->bEof);
194474 if( pLeft->pPhrase && pLeft->pPhrase->doclist.aAll ){
194475 Fts3Doclist *pDl = &pLeft->pPhrase->doclist;
194476 while( *pRc==SQLITE_OK && pLeft->bEof==0 ){
194478 fts3EvalNextRow(pCsr, pLeft, pRc);
194481 pRight->bEof = pLeft->bEof = 1;
194488 Fts3Expr *pLeft = pExpr->pLeft;
194490 sqlite3_int64 iCmp = DOCID_CMP(pLeft->iDocid, pRight->iDocid);
194492 assert_fts3_nc( pLeft->bStart || pLeft->iDocid==pRight->iDocid );
194493 assert_fts3_nc( pRight->bStart || pLeft->iDocid==pRight->iDocid );
194495 if( pRight->bEof || (pLeft->bEof==0 && iCmp<0) ){
194496 fts3EvalNextRow(pCsr, pLeft, pRc);
194497 }else if( pLeft->bEof || iCmp>0 ){
194500 fts3EvalNextRow(pCsr, pLeft, pRc);
194504 pExpr->bEof = (pLeft->bEof && pRight->bEof);
194505 iCmp = DOCID_CMP(pLeft->iDocid, pRight->iDocid);
194506 if( pRight->bEof || (pLeft->bEof==0 && iCmp<0) ){
194507 pExpr->iDocid = pLeft->iDocid;
194516 Fts3Expr *pLeft = pExpr->pLeft;
194524 fts3EvalNextRow(pCsr, pLeft, pRc);
194525 if( pLeft->bEof==0 ){
194528 && DOCID_CMP(pLeft->iDocid, pRight->iDocid)>0
194533 pExpr->iDocid = pLeft->iDocid;
194534 pExpr->bEof = pLeft->bEof;
194596 for(p=pExpr; p->pLeft; p=p->pLeft){
194617 for(p=pExpr->pLeft; p && res; p=p->pLeft){
194620 assert( p->pParent && p->pParent->pLeft==p );
194657 fts3EvalTestExpr(pCsr, pExpr->pLeft, pRc)
194682 for(p=pExpr; p->pPhrase==0; p=p->pLeft){
194695 int bHit1 = fts3EvalTestExpr(pCsr, pExpr->pLeft, pRc);
194703 fts3EvalTestExpr(pCsr, pExpr->pLeft, pRc)
194860 fts3EvalRestart(pCsr, pExpr->pLeft, pRc);
194917 fts3EvalUpdateCounts(pExpr->pLeft, nCol);
195177 for(p=pNear; p; p=p->pLeft){
196472 pNew->pLeft = pSplit;
196524 pNot->pLeft = pNotBranch;
196531 isPhrase = (eType==FTSQUERY_PHRASE || p->pLeft);
196579 assert( pPrev && pPrev->pLeft && pPrev->pRight==0 );
196610 while( pIter->pLeft ){
196611 pIter = pIter->pLeft;
196613 pIter->pLeft = pRet;
196641 rc = fts3ExprCheckDepth(p->pLeft, nMaxDepth-1);
196686 for(p=pRoot; p->eType==eType; p=p->pLeft){
196687 assert( p->pParent==0 || p->pParent->pLeft==p );
196688 assert( p->pLeft && p->pRight );
196696 assert( pParent==0 || pParent->pLeft==p );
196699 pParent->pLeft = 0;
196712 pFree->pLeft = apLeaf[iLvl];
196714 pFree->pLeft->pParent = pFree;
196733 for(p=pParent->pRight; p->eType==eType; p=p->pLeft);
196736 assert( pParent->pParent==0 || pParent->pParent->pLeft==pParent );
196739 pParent->pParent->pLeft = pParent->pRight;
196761 pFree->pLeft = apLeaf[i];
196762 pFree->pLeft->pParent = pFree;
196790 Fts3Expr *pLeft = pRoot->pLeft;
196793 pRoot->pLeft = 0;
196795 pLeft->pParent = 0;
196798 rc = fts3ExprBalance(&pLeft, nMaxDepth-1);
196805 sqlite3Fts3ExprFree(pLeft);
196807 assert( pLeft && pRight );
196808 pRoot->pLeft = pLeft;
196809 pLeft->pParent = pRoot;
196959 for(p=pDel; p && (p->pLeft||p->pRight); p=(p->pLeft ? p->pLeft : p->pRight)){
196960 assert( p->pParent==0 || p==p->pParent->pRight || p==p->pParent->pLeft );
196965 if( pParent && p==pParent->pLeft && pParent->pRight ){
196967 while( p && (p->pLeft || p->pRight) ){
196968 assert( p==p->pParent->pRight || p==p->pParent->pLeft );
196969 p = (p->pLeft ? p->pLeft : p->pRight);
197030 if( zBuf ) zBuf = exprToString(pExpr->pLeft, zBuf);
205538 assert( pExpr->pLeft && pExpr->pRight );
205539 rc = fts3ExprIterate2(pExpr->pLeft, piPhrase, x, pCtx);
206189 assert( (pExpr->pLeft==0)==(pExpr->pRight==0) );
206191 if( pExpr->pLeft ){
206192 rc = fts3ExprLHitGather(pExpr->pLeft, p);
215900 RtreeNode *pLeft,
215982 RtreeNode *pTarget = (ii<iBestSplit)?pLeft:pRight;
216032 RtreeNode *pLeft = 0;
216057 pLeft = nodeNew(pRtree, pNode);
216062 pLeft = pNode;
216063 pRight = nodeNew(pRtree, pLeft->pParent);
216064 pLeft->nRef++;
216067 if( !pLeft || !pRight ){
216072 memset(pLeft->zData, 0, pRtree->iNodeSize);
216075 rc = splitNodeStartree(pRtree, aCell, nCell, pLeft, pRight,
216087 || (0==pLeft->iNode && SQLITE_OK!=(rc = nodeWrite(pRtree, pLeft)))
216093 leftbbox.iRowid = pLeft->iNode;
216096 rc = rtreeInsertCell(pRtree, pLeft->pParent, &leftbbox, iHeight+1);
216101 RtreeNode *pParent = pLeft->pParent;
216103 rc = nodeParentIndex(pRtree, pLeft, &iCell);
216128 for(i=0; i<NCELL(pLeft); i++){
216129 i64 iRowid = nodeGetRowid(pRtree, pLeft, i);
216130 rc = updateMapping(pRtree, iRowid, pLeft, iHeight);
216136 rc = updateMapping(pRtree, pCell->iRowid, pLeft, iHeight);
216144 rc = nodeRelease(pRtree, pLeft);
216145 pLeft = 0;
216150 nodeRelease(pRtree, pLeft);
218727 static GeoEvent *geopolyEventMerge(GeoEvent *pLeft, GeoEvent *pRight){
218731 while( pRight && pLeft ){
218732 if( pRight->x <= pLeft->x ){
218737 pLast->pNext = pLeft;
218738 pLast = pLeft;
218739 pLeft = pLeft->pNext;
218742 pLast->pNext = pRight ? pRight : pLeft;
218774 static GeoSegment *geopolySegmentMerge(GeoSegment *pLeft, GeoSegment *pRight){
218778 while( pRight && pLeft ){
218779 double r = pRight->y - pLeft->y;
218780 if( r==0.0 ) r = pRight->C - pLeft->C;
218786 pLast->pNext = pLeft;
218787 pLast = pLeft;
218788 pLeft = pLeft->pNext;
218791 pLast->pNext = pRight ? pRight : pLeft;
234330 void *pLeft, /* Lhs input changeset */
234341 rc = sqlite3changegroup_add(pGrp, nLeft, pLeft);
236408 Fts5ExprNode *pLeft,
236415 Fts5ExprNode *pLeft,
241484 Fts5ExprPhrase *pLeft = pNear->apPhrase[0];
241502 if( pLeft->aTerm[0].pSynonym ){
241503 iLast = fts5ExprSynonymRowid(&pLeft->aTerm[0], bDesc, 0);
241505 iLast = pLeft->aTerm[0].pIter->iRowid;
242745 Fts5ExprNode *pLeft, /* Left hand child expression */
242756 || (eType==FTS5_STRING && !pLeft && !pRight)
242759 if( eType!=FTS5_STRING && pLeft==0 ) return pRight;
242760 if( eType!=FTS5_STRING && pRight==0 ) return pLeft;
242772 if( pLeft->eType==eType ) nChild += pLeft->nChild-1;
242806 assert( pLeft==0 && pRight==0 );
242811 fts5ExprAddChildren(pRet, pLeft);
242813 pLeft = pRight = 0;
242829 sqlite3Fts5ParseNodeFree(pLeft);
242838 Fts5ExprNode *pLeft, /* Left hand child expression */
242845 sqlite3Fts5ParseNodeFree(pLeft);
242849 assert( pLeft->eType==FTS5_STRING
242850 || pLeft->eType==FTS5_TERM
242851 || pLeft->eType==FTS5_EOF
242852 || pLeft->eType==FTS5_AND
242860 if( pLeft->eType==FTS5_AND ){
242861 pPrev = pLeft->apChild[pLeft->nChild-1];
242863 pPrev = pLeft;
242875 pRet = pLeft;
242881 if( pPrev==pLeft ){
242884 pLeft->apChild[pLeft->nChild-1] = pRight;
242885 pRet = pLeft;
242896 pRet = sqlite3Fts5ParseNode(pParse, FTS5_AND, pLeft, pRight, 0);
244062 Fts5HashEntry *pLeft,
244065 Fts5HashEntry *p1 = pLeft;
245014 Fts5Buffer *pLeft, /* Left hand side of comparison */
245017 int nCmp = MIN(pLeft->n, nRight);
245018 int res = memcmp(pLeft->p, pRight, nCmp);
245019 return (res==0 ? (pLeft->n - nRight) : res);
245032 static int fts5BufferCompare(Fts5Buffer *pLeft, Fts5Buffer *pRight){
245034 nCmp = MIN(pLeft->n, pRight->n);
245035 assert( nCmp<=0 || pLeft->p!=0 );
245037 res = fts5Memcmp(pLeft->p, pRight->p, nCmp);
245038 return (res==0 ? (pLeft->n - pRight->n) : res);