Lines Matching refs:pLeft

18991   Expr *pLeft;           /* Left subnode */  member
19127 #define EXPR_TOKENONLYSIZE offsetof(Expr,pLeft) /* Fewer features */
20482 SQLITE_PRIVATE Select *sqlite3MultiValues(Parse *pParse, Select *pLeft, ExprList *pRow);
32073 pExpr = pExpr->pLeft; in sqlite3RecordErrorOffsetOfExpr()
32933 sqlite3TreeViewExpr(pView, p->pLimit->pLeft, p->pLimit->pRight!=0); in sqlite3TreeViewSelect()
33134 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
33194 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
33245 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
33259 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
33300 sqlite3TreeViewExprList(pView, pFarg, pWin!=0 || pExpr->pLeft, 0); in sqlite3TreeViewExpr()
33301 if( pExpr->pLeft ){ in sqlite3TreeViewExpr()
33302 Expr *pOB = pExpr->pLeft; in sqlite3TreeViewExpr()
33344 sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); in sqlite3TreeViewExpr()
33367 pX = pExpr->pLeft; in sqlite3TreeViewExpr()
33392 sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); in sqlite3TreeViewExpr()
33427 pExpr->pRight==pExpr->pLeft ? " (SELECT-owner)" : ""); in sqlite3TreeViewExpr()
33428 assert( ExprUseXSelect(pExpr->pLeft) ); in sqlite3TreeViewExpr()
33429 sqlite3TreeViewSelect(pView, pExpr->pLeft->x.pSelect, 0); in sqlite3TreeViewExpr()
33434 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
33461 sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); in sqlite3TreeViewExpr()
33465 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); in sqlite3TreeViewExpr()
56528 struct RowSetEntry *pLeft; /* Left subtree (smaller entries) */
56750 if( pIn->pLeft ){
56752 rowSetTreeToList(pIn->pLeft, ppFirst, &p);
56784 struct RowSetEntry *pLeft; /* Left subtree */
56793 pLeft = rowSetNDeepTree(ppList, iDepth-1);
56798 return pLeft;
56800 p->pLeft = pLeft;
56806 p->pLeft = p->pRight = 0;
56818 struct RowSetEntry *pLeft; /* Left subtree */
56823 p->pLeft = p->pRight = 0;
56825 pLeft = p;
56828 p->pLeft = pLeft;
56900 if( pTree->pLeft==0 ){
56901 pTree->pLeft = rowSetListToTree(p);
56905 rowSetTreeToList(pTree->pLeft, &pAux, &pTail);
56906 pTree->pLeft = 0;
56915 pTree->pLeft = rowSetListToTree(p);
56929 p = pTree->pLeft;
56934 p = p->pLeft;
84393 while( (op = pExpr->op)==TK_UPLUS || op==TK_SPAN ) pExpr = pExpr->pLeft;
84406 rc = valueFromExpr(db, pExpr->pLeft, enc, aff, ppVal, pCtx);
84426 Expr *pLeft = pExpr->pLeft;
84427 if( (pLeft->op==TK_INTEGER || pLeft->op==TK_FLOAT) ){
84428 if( ExprHasProperty(pLeft, EP_IntValue)
84429 || pLeft->u.zToken[0]!='0' || (pLeft->u.zToken[1] & ~0x20)!='X'
84431 pExpr = pLeft;
84479 if( SQLITE_OK==valueFromExpr(db,pExpr->pLeft,enc,affinity,&pVal,pCtx)
86715 displayP4Expr(p, pExpr->pLeft);
106535 if( pExpr->pLeft && sqlite3WalkExprNN(pWalker, pExpr->pLeft) ){
107399 assert( pExpr->pLeft==0 && pExpr->pRight==0 );
107497 sqlite3ExprDelete(db, pExpr->pLeft);
107498 pExpr->pLeft = 0;
107534 sqlite3ExprDelete(db, pExpr->pLeft);
107535 pExpr->pLeft = 0;
107759 sqlite3WalkExpr(pWalker, pExpr->pLeft);
107761 if( sqlite3ExprCanBeNull(pExpr->pLeft) ){
107788 sqlite3ExprDelete(pParse->db, pExpr->pLeft);
107789 pExpr->pLeft = 0;
107813 Expr *pLeft = pExpr->pLeft;
107824 zDb = pLeft->u.zToken;
107825 pLeft = pRight->pLeft;
107828 assert( ExprUseUToken(pLeft) && ExprUseUToken(pRight) );
107829 zTable = pLeft->u.zToken;
107833 sqlite3RenameTokenRemap(pParse, (void*)&pExpr->y.pTab, (void*)pLeft);
107855 assert( pExpr->pLeft==0 || pExpr->pLeft->op==TK_ORDER );
107997 else if( is_agg==0 && pExpr->pLeft ){
108012 else if( ExprHasProperty(pExpr, EP_WinFunc) || pExpr->pLeft ){
108017 if( pExpr->pLeft ){
108018 assert( pExpr->pLeft->op==TK_ORDER );
108019 assert( ExprUseXList(pExpr->pLeft) );
108020 sqlite3WalkExprList(pWalker, pExpr->pLeft->x.pList);
108134 assert( pExpr->pLeft!=0 );
108135 nLeft = sqlite3ExprVectorSize(pExpr->pLeft);
108374 while( pParent->pLeft->op==TK_COLLATE ) pParent = pParent->pLeft;
108375 assert( pParent->pLeft==pE );
108376 pParent->pLeft = pNew;
109079 assert( pExpr->pLeft!=0 && ExprUseXSelect(pExpr->pLeft) );
109082 assert( pExpr->iTable==pExpr->pLeft->x.pSelect->pEList->nExpr );
109084 pExpr->pLeft->x.pSelect->pEList->a[pExpr->iColumn].pExpr
109095 pExpr = pExpr->pLeft;
109120 pExpr = pExpr->pLeft;
109191 pNew->pLeft = pExpr;
109215 pExpr = pExpr->pLeft;
109233 pExpr = pExpr->pLeft;
109275 p = p->pLeft;
109289 if( p->pLeft && (p->pLeft->flags & EP_Collate)!=0 ){
109290 p = p->pLeft;
109374 assert( pExpr->pLeft );
109375 aff = sqlite3ExprAffinity(pExpr->pLeft);
109431 const Expr *pLeft,
109435 assert( pLeft );
109436 if( pLeft->flags & EP_Collate ){
109437 pColl = sqlite3ExprCollSeq(pParse, pLeft);
109441 pColl = sqlite3ExprCollSeq(pParse, pLeft);
109459 return sqlite3BinaryCompareCollSeq(pParse, p->pRight, p->pLeft);
109461 return sqlite3BinaryCompareCollSeq(pParse, p->pLeft, p->pRight);
109470 Expr *pLeft, /* The left operand */
109484 p4 = sqlite3BinaryCompareCollSeq(pParse, pRight, pLeft);
109486 p4 = sqlite3BinaryCompareCollSeq(pParse, pLeft, pRight);
109488 p5 = binaryCompareP5(pLeft, pRight, jumpIfNull);
109609 pRet->pLeft = pVector;
109710 Expr *pLeft = pExpr->pLeft;
109712 int nLeft = sqlite3ExprVectorSize(pLeft);
109741 regLeft = exprCodeSubselect(pParse, pLeft);
109751 r1 = exprVectorRegister(pParse, pLeft, i, regLeft, &pL, &regFree1);
109856 int nHeight = p->pLeft ? p->pLeft->nHeight : 0;
110004 Expr *pLeft,
110009 sqlite3ExprDelete(db, pLeft);
110023 if( pLeft ){
110024 pRoot->pLeft = pLeft;
110025 pRoot->flags |= EP_Propagate & pLeft->flags;
110027 if( pLeft->nHeight>=pRoot->nHeight ){
110028 pRoot->nHeight = pLeft->nHeight+1;
110045 Expr *pLeft, /* Left operand */
110054 sqlite3ExprAttachSubtrees(pParse->db, p, pLeft, pRight);
110057 sqlite3ExprDelete(pParse->db, pLeft);
110144 SQLITE_PRIVATE Expr *sqlite3ExprAnd(Parse *pParse, Expr *pLeft, Expr *pRight){
110146 if( pLeft==0 ){
110149 return pLeft;
110151 u32 f = pLeft->flags | pRight->flags;
110155 sqlite3ExprDeferredDelete(pParse, pLeft);
110159 return sqlite3PExpr(pParse, TK_AND, pLeft, pRight);
110235 assert( pExpr->pLeft==0 );
110255 pExpr->pLeft = pOB;
110389 assert( p->pLeft==0 );
110412 if( p->pLeft && p->op!=TK_SELECT_COLUMN ){
110413 Expr *pLeft = p->pLeft;
110415 && !ExprHasProperty(pLeft, EP_Static)
110419 p = pLeft;
110422 sqlite3ExprDeleteNN(db, pLeft);
110532 if( p->pLeft || p->x.pList ){
110570 if( p->pLeft ) nByte += dupedExprSize(p->pLeft);
110713 pNew->pLeft = p->pLeft;
110715 || p->pRight==p->pLeft
110716 || ExprHasProperty(p->pLeft, EP_Subquery) );
110718 pNew->pLeft = p->pLeft ?
110719 exprDup(db, p->pLeft, EXPRDUP_REDUCE, &sEdupBuf) : 0;
110725 pNew->pLeft = p->pLeft;
110727 || p->pRight==p->pLeft
110728 || ExprHasProperty(p->pLeft, EP_Subquery) );
110730 pNew->pLeft = sqlite3ExprDup(db, p->pLeft, 0);
110849 pNewExpr->pLeft = pNewExpr->pRight;
110851 if( pOldExpr->pLeft!=pPriorSelectColOld ){
110852 pPriorSelectColOld = pOldExpr->pLeft;
110856 pNewExpr->pLeft = pPriorSelectColNew;
111365 Expr *pLeft = sqlite3ExprSimplifiedAndOr(pExpr->pLeft);
111366 if( ExprAlwaysTrue(pLeft) || ExprAlwaysFalse(pRight) ){
111367 pExpr = pExpr->op==TK_AND ? pRight : pLeft;
111368 }else if( ExprAlwaysTrue(pRight) || ExprAlwaysFalse(pLeft) ){
111369 pExpr = pExpr->op==TK_AND ? pLeft : pRight;
111819 rc = sqlite3ExprIsInteger(p->pLeft, pValue);
111824 if( sqlite3ExprIsInteger(p->pLeft, &v) ){
111854 p = p->pLeft;
111897 p = p->pLeft;
112029 pLHS = pIn->pLeft;
112030 pIn->pLeft = 0;
112032 pIn->pLeft = pLHS;
112197 Expr *pLhs = sqlite3VectorFieldSubexpr(pX->pLeft, i);
112240 Expr *pLhs = sqlite3VectorFieldSubexpr(pX->pLeft, i);
112329 n = sqlite3ExprVectorSize(pX->pLeft);
112347 Expr *pLeft = pExpr->pLeft;
112348 int nVal = sqlite3ExprVectorSize(pLeft);
112357 Expr *pA = sqlite3VectorFieldSubexpr(pLeft, i);
112438 Expr *pLeft; /* the LHS of the IN operator */
112488 pLeft = pExpr->pLeft;
112489 nVal = sqlite3ExprVectorSize(pLeft);
112542 Expr *p = sqlite3VectorFieldSubexpr(pLeft, i);
112561 affinity = sqlite3ExprAffinity(pLeft);
112569 pKeyInfo->aColl[0] = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
112718 sqlite3ExprDup(db, pSel->pLimit->pLeft, 0), pLimit);
112720 sqlite3ExprDeferredDelete(pParse, pSel->pLimit->pLeft);
112721 pSel->pLimit->pLeft = pLimit;
112760 int nVector = sqlite3ExprVectorSize(pIn->pLeft);
112767 sqlite3VectorErrorMsg(pParse, pIn->pLeft);
112815 Expr *pLeft; /* The LHS of the IN operator */
112826 pLeft = pExpr->pLeft;
112829 nVector = sqlite3ExprVectorSize(pExpr->pLeft);
112874 rLhsOrig = exprCodeVector(pParse, pLeft, &iDummy);
112903 pColl = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
112952 Expr *p = sqlite3VectorFieldSubexpr(pExpr->pLeft, i);
113018 p = sqlite3VectorFieldSubexpr(pLeft, i);
113621 iReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft,target);
113755 sqlite3ExprCode(pParse, pExpr->pLeft, target);
113774 Expr *pLeft = pExpr->pLeft;
113775 if( sqlite3ExprIsVector(pLeft) ){
113778 r1 = sqlite3ExprCodeTemp(pParse, pLeft, &regFree1);
113781 codeCompare(pParse, pLeft, pExpr->pRight, op, r1, r2,
113823 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, &regFree1);
113831 Expr *pLeft = pExpr->pLeft;
113832 assert( pLeft );
113833 if( pLeft->op==TK_INTEGER ){
113834 codeInteger(pParse, pLeft, 1, target);
113837 }else if( pLeft->op==TK_FLOAT ){
113839 codeReal(v, pLeft->u.zToken, 1, target);
113848 r2 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, &regFree2);
113858 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, &regFree1);
113866 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, &regFree1);
113881 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, &regFree1);
114049 Expr *pLeft = pExpr->pLeft;
114050 if( pLeft->iTable==0 || pParse->withinRJSubrtn > pLeft->op2 ){
114051 pLeft->iTable = sqlite3CodeSubselect(pParse, pLeft);
114052 pLeft->op2 = pParse->withinRJSubrtn;
114054 assert( pLeft->op==TK_SELECT || pLeft->op==TK_ERROR );
114055 n = sqlite3ExprVectorSize(pLeft);
114060 return pLeft->iTable + pExpr->iColumn;
114099 assert( pExpr->pLeft );
114100 sqlite3ExprCode(pParse, pExpr->pLeft, target);
114104 pExpr = pExpr->pLeft;
114110 pExpr = pExpr->pLeft;
114212 sqlite3ExprCode(pParse, pExpr->pLeft, target);
114259 if( (pX = pExpr->pLeft)!=0 ){
114270 opCompare.pLeft = pDel;
114606 pDel = sqlite3ExprDup(db, pExpr->pLeft, 0);
114609 exprAnd.pLeft = &compLeft;
114612 compLeft.pLeft = pDel;
114615 compRight.pLeft = pDel;
114680 sqlite3ExprIfFalse(pParse, pExpr->pLeft, d2,
114686 sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull);
114693 sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull);
114705 sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest,
114708 sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest,
114726 if( sqlite3ExprIsVector(pExpr->pLeft) ) goto default_expr;
114728 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, &regFree1);
114730 codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op,
114750 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, &regFree1);
114853 sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull);
114858 sqlite3ExprIfTrue(pParse, pExpr->pLeft, d2,
114867 sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull);
114880 sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest,
114885 sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest,
114903 if( sqlite3ExprIsVector(pExpr->pLeft) ) goto default_expr;
114905 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, &regFree1);
114907 codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op,
114925 r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, &regFree1);
115074 if( pA->op==TK_COLLATE && sqlite3ExprCompare(pParse, pA->pLeft,pB,iTab)<2 ){
115077 if( pB->op==TK_COLLATE && sqlite3ExprCompare(pParse, pA,pB->pLeft,iTab)<2 ){
115122 && sqlite3ExprCompare(pParse, pA->pLeft, pB->pLeft, iTab) ) return 2;
115203 return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, 1);
115217 return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, 1);
115244 return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, seenNot);
115249 return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, 1);
115253 return exprImpliesNotNull(pParse, p->pLeft, pNN, iTab, 1);
115294 && (sqlite3ExprImpliesExpr(pParse, pE1, pE2->pLeft, iTab)
115300 && exprImpliesNotNull(pParse, pE1, pE2->pLeft, iTab, 0)
115383 bothImplyNotNullRow(pWalker, pExpr->pLeft, pExpr->pRight);
115392 sqlite3WalkExpr(pWalker, pExpr->pLeft);
115401 sqlite3WalkExpr(pWalker, pExpr->pLeft);
115415 Expr *pLeft = pExpr->pLeft;
115425 assert( pLeft->op!=TK_COLUMN || ExprUseYTab(pLeft) );
115427 if( (pLeft->op==TK_COLUMN
115428 && ALWAYS(pLeft->y.pTab!=0)
115429 && IsVirtual(pLeft->y.pTab))
115470 p = p->pLeft;
115473 if( sqlite3ExprImpliesNonNullRow(p->pLeft, iTab, isRJ) ) return 1;
115649 if( pExpr->pLeft ){
115650 assert( pExpr->pLeft->op==TK_ORDER );
115651 assert( ExprUseXList(pExpr->pLeft) );
115652 assert( pExpr->pLeft->x.pList!=0 );
115653 sqlite3WalkExprList(&w, pExpr->pLeft->x.pList);
115927 if( pExpr->pLeft
115934 assert( pExpr->pLeft->op==TK_ORDER );
115935 assert( ExprUseXList(pExpr->pLeft) );
115937 pOBList = pExpr->pLeft->x.pList;
116511 if( pDflt && pDflt->pLeft->op==TK_NULL ){
123126 x.pLeft = pExpr;
123158 }else if( p->op==TK_COLLATE && p->pLeft->op==TK_STRING ){
123159 p->pLeft->op = TK_ID;
131992 Expr *pLeft; /* Value from parent table row */
131999 pLeft = exprTableRegister(pParse, pTab, regData, iCol);
132004 pEq = sqlite3PExpr(pParse, TK_EQ, pLeft, pRight);
132024 Expr *pLeft; /* Value from parent table row */
132027 pLeft = exprTableRegister(pParse, pTab, regData, -1);
132029 pNe = sqlite3PExpr(pParse, TK_NE, pLeft, pRight);
132036 pLeft = exprTableRegister(pParse, pTab, regData, iCol);
132038 pEq = sqlite3PExpr(pParse, TK_IS, pLeft, pRight);
133566 SQLITE_PRIVATE Select *sqlite3MultiValues(Parse *pParse, Select *pLeft, ExprList *pRow){
133571 || (pLeft->pSrc->nSrc==0 &&
133572 exprListIsNoAffinity(pParse,pLeft->pEList)==0) /* condition (d) above */
133578 if( pLeft->pSrc->nSrc ){
133579 sqlite3MultiValuesEnd(pParse, pLeft);
133581 }else if( pLeft->pPrior ){
133583 f = (f & pLeft->selFlags);
133586 pLeft->selFlags &= ~SF_MultiValue;
133589 pSelect->pPrior = pLeft;
133590 pLeft = pSelect;
133595 if( pLeft->pSrc->nSrc==0 ){
133611 pRet->pPrior = pLeft->pPrior;
133612 pRet->op = pLeft->op;
133614 pLeft->pPrior = 0;
133615 pLeft->op = TK_SELECT;
133616 assert( pLeft->pNext==0 );
133619 p->pSelect = pLeft;
133634 dest.nSdst = pLeft->pEList->nExpr;
133637 pLeft->selFlags |= SF_MultiValue;
133638 sqlite3Select(pParse, pLeft, &dest);
133641 pLeft = pRet;
133644 p = &pLeft->pSrc->a[0];
133661 return pLeft;
143321 sqlite3SetJoinExpr(p->pLeft, iTable, joinFlag);
143351 assert( p->pLeft==0 );
143359 unsetJoinExpr(p->pLeft, iTable, nullable);
143388 SrcItem *pLeft; /* Left table being joined */
143392 pLeft = &pSrc->a[0];
143393 pRight = &pLeft[1];
143394 for(i=0; i<pSrc->nSrc-1; i++, pRight++, pLeft++){
143398 if( NEVER(pLeft->pTab==0 || pRightTab==0) ) continue;
145382 assert( pLimit->pLeft!=0 );
145386 if( sqlite3ExprIsInteger(pLimit->pLeft, &n) ){
145396 sqlite3ExprCode(pParse, pLimit->pLeft, iLimit);
145866 && sqlite3ExprIsInteger(p->pLimit->pLeft, &nLimit)
146773 ifNullRow.pLeft = pCopy;
146820 pExpr->pLeft = substExpr(pSubst, pExpr->pLeft);
147717 Expr *pRight, *pLeft;
147726 findConstInWhere(pConst, pExpr->pLeft);
147731 pLeft = pExpr->pLeft;
147733 assert( pLeft!=0 );
147734 if( pRight->op==TK_COLUMN && sqlite3ExprIsConstant(pConst->pParse, pLeft) ){
147735 constInsert(pConst,pRight,pLeft,pExpr);
147737 if( pLeft->op==TK_COLUMN && sqlite3ExprIsConstant(pConst->pParse, pRight) ){
147738 constInsert(pConst,pLeft,pRight,pExpr);
147777 assert( pExpr->pLeft==0 );
147778 pExpr->pLeft = sqlite3ExprDup(pConst->pParse->db, pConst->apExpr[i*2+1], 0);
147811 propagateConstantExprRewriteOne(pConst, pExpr->pLeft, 0);
147813 if( sqlite3ExprAffinity(pExpr->pLeft)!=SQLITE_AFF_TEXT ){
148124 pWhere = pWhere->pLeft;
148160 Expr *pLeft = pWhere->pLeft;
148161 if( ALWAYS(pLeft)
148162 && pLeft->op==TK_COLUMN
148163 && pLeft->iColumn < 0
148618 Select *pLeft; /* Left-most SELECT statement */
148723 for(pLeft=pSel; pLeft->pPrior; pLeft=pLeft->pPrior);
148724 pEList = pLeft->pEList;
149003 assert( pE->op!=TK_DOT || (pE->pLeft!=0 && pE->pLeft->op==TK_ID) );
149044 assert( pE->pLeft!=0 );
149045 assert( !ExprHasProperty(pE->pLeft, EP_IntValue) );
149046 zTName = pE->pLeft->u.zToken;
149047 assert( ExprUseWOfst(pE->pLeft) );
149166 Expr *pLeft;
149167 pLeft = sqlite3Expr(db, TK_ID, zTabName);
149168 pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight);
149169 if( IN_RENAME_OBJECT && pE->pLeft ){
149170 sqlite3RenameTokenRemap(pParse, pLeft, pE->pLeft);
149173 pLeft = sqlite3Expr(db, TK_ID, zSchemaName);
149174 pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pExpr);
149426 if( pExpr->pLeft ){
149427 assert( pExpr->pLeft->op==TK_ORDER );
149428 assert( ExprUseXList(pExpr->pLeft) );
149429 sqlite3ExprAnalyzeAggList(pNC, pExpr->pLeft->x.pList);
149589 assert( pFunc->pFExpr->pLeft!=0 );
149590 assert( pFunc->pFExpr->pLeft->op==TK_ORDER );
149591 assert( ExprUseXList(pFunc->pFExpr->pLeft) );
149593 pOBList = pFunc->pFExpr->pLeft->x.pList;
149648 assert( pF->pFExpr->pLeft!=0 );
149649 assert( ExprUseXList(pF->pFExpr->pLeft) );
149650 assert( pF->pFExpr->pLeft->x.pList!=0 );
149651 nKey = pF->pFExpr->pLeft->x.pList->nExpr;
149753 assert( pF->pFExpr->pLeft!=0 );
149754 assert( pF->pFExpr->pLeft->op==TK_ORDER );
149755 assert( ExprUseXList(pF->pFExpr->pLeft) );
149756 pOBList = pF->pFExpr->pLeft->x.pList;
152616 assert( pTerm->pLeft!=0 );
154791 sCol[0].pLeft = &sCol[1];
154817 sCol[0].pLeft = pExpr;
154821 sCol[0].pLeft = &sCol[1];
157924 assert( pNew->pLeft!=0 );
157925 assert( ExprUseXList(pNew->pLeft) );
157927 pOrigLhs = pNew->pLeft->x.pList;
157947 pNew->pLeft->x.pList = pLhs;
157956 sqlite3ExprDelete(db, pNew->pLeft);
157957 pNew->pLeft = p;
158066 int n = sqlite3ExprVectorSize(pX->pLeft);
158674 whereApplyPartialIndexConstraints(pTruth->pLeft, iTabCur, pWC);
158962 Expr *pLeft = pTerm->pExpr->pLeft;
158963 assert( pLeft!=0 );
158965 assert( pLeft->op==TK_VECTOR );
158966 assert( ExprUseXList(pLeft) );
158967 assert( iFld<=pLeft->x.pList->nExpr );
158968 pCompare->pLeft = pLeft->x.pList->a[iFld-1].pExpr;
158970 pCompare->pLeft = pLeft;
158979 pCompare->pLeft = 0;
159729 pAndExpr->pLeft = pOrExpr;
159852 pAndExpr->pLeft = 0;
160035 sEAlt.pLeft = pE->pLeft;
160353 if( pExpr->pLeft->op==TK_VECTOR
160355 || sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft, pExpr->pRight) !=
160356 sqlite3BinaryCompareCollSeq(pParse, pExpr->pRight, pExpr->pLeft)
160360 SWAP(Expr*,pExpr->pRight,pExpr->pLeft);
160421 Expr *pRight, *pLeft; /* Right and left size of LIKE operator */
160439 pLeft = pList->a[1].pExpr;
160507 if( pLeft->op!=TK_COLUMN
160508 || sqlite3ExprAffinity(pLeft)!=SQLITE_AFF_TEXT
160509 || (ALWAYS( ExprUseYTab(pLeft) )
160510 && ALWAYS(pLeft->y.pTab)
160511 && IsVirtual(pLeft->y.pTab)) /* Might be numeric */
160675 Expr *pLeft = pExpr->pLeft;
160677 assert( pLeft->op!=TK_COLUMN || (ExprUseYTab(pLeft) && pLeft->y.pTab!=0) );
160678 if( ExprIsVtab(pLeft) ){
160685 SWAP(Expr*, pLeft, pRight);
160687 *ppLeft = pLeft;
160770 assert( pOne->pExpr->pLeft!=0 && pOne->pExpr->pRight!=0 );
160771 assert( pTwo->pExpr->pLeft!=0 && pTwo->pExpr->pRight!=0 );
160772 if( sqlite3ExprCompare(0,pOne->pExpr->pLeft, pTwo->pExpr->pLeft, -1) ) return;
161031 Expr *pLeft = 0;
161056 pLeft = pOrTerm->pExpr->pLeft;
161078 && sqlite3ExprCompare(pParse, pOrTerm->pExpr->pLeft, pLeft, -1)
161088 affLeft = sqlite3ExprAffinity(pOrTerm->pExpr->pLeft);
161105 Expr *pLeft = 0; /* The LHS of the IN operator */
161116 pLeft = pOrTerm->pExpr->pLeft;
161118 assert( pLeft!=0 );
161119 pDup = sqlite3ExprDup(db, pLeft, 0);
161160 aff1 = sqlite3ExprAffinity(pExpr->pLeft);
161169 return sqlite3ExprCollSeqMatch(pParse, pExpr->pLeft, pExpr->pRight);
161330 prereqLeft = sqlite3WhereExprUsage(pMaskSet, pExpr->pLeft);
161343 if( pExpr->pLeft==0
161392 Expr *pLeft = sqlite3ExprSkipCollate(pExpr->pLeft);
161398 assert( pLeft->op==TK_VECTOR );
161399 assert( ExprUseXList(pLeft) );
161400 pLeft = pLeft->x.pList->a[pTerm->u.x.iField-1].pExpr;
161403 if( exprMightBeIndexed(pSrc, aiCurCol, pLeft, op) ){
161452 && 0==sqlite3ExprCanBeNull(pLeft)
161491 sqlite3ExprDup(db, pExpr->pLeft, 0),
161520 if( pExpr->pLeft->op==TK_COLUMN
161521 && pExpr->pLeft->iColumn>=0
161525 Expr *pLeft = pExpr->pLeft;
161530 sqlite3ExprDup(db, pLeft, 0),
161538 pNewTerm->leftCursor = pLeft->iTable;
161539 pNewTerm->u.x.leftColumn = pLeft->iColumn;
161568 Expr *pLeft; /* LHS of LIKE/GLOB operator */
161578 pLeft = pExpr->x.pList->a[1].pExpr;
161615 pNewExpr1 = sqlite3ExprDup(db, pLeft, 0);
161622 pNewExpr2 = sqlite3ExprDup(db, pLeft, 0);
161650 && (nLeft = sqlite3ExprVectorSize(pExpr->pLeft))>1
161652 && ( (pExpr->pLeft->flags & EP_xIsSelect)==0
161660 Expr *pLeft = sqlite3ExprForVectorField(pParse, pExpr->pLeft, i, nLeft);
161663 pNew = sqlite3PExpr(pParse, pExpr->op, pLeft, pRight);
161684 && pExpr->pLeft->op==TK_VECTOR
161693 for(i=0; i<sqlite3ExprVectorSize(pExpr->pLeft); i++){
161713 Expr *pRight = 0, *pLeft = 0;
161714 int res = isAuxiliaryVtabOperator(db, pExpr, &eOp2, &pLeft, &pRight);
161721 prereqColumn = sqlite3WhereExprUsage(pMaskSet, pLeft);
161734 pNewTerm->leftCursor = pLeft->iTable;
161735 pNewTerm->u.x.leftColumn = pLeft->iColumn;
161743 SWAP(Expr*, pLeft, pRight);
161786 sqlite3WhereSplit(pWC, pE2->pLeft, op);
161902 whereAddLimitExpr(pWC, p->iLimit, p->pLimit->pLeft,
162000 if( p->pLeft ) mask |= sqlite3WhereExprUsageNN(pMaskSet, p->pLeft);
162441 if( sqlite3ExprIsVector(pX->pLeft) ){
162445 inexpr.pLeft = pX->pLeft->x.pList->a[iField].pExpr;
162484 || sqlite3ExprCompareSkip(pTerm->pExpr->pLeft,
162520 assert(pX->pLeft);
163187 if( ALWAYS(pX->pLeft!=0)
163188 && sqlite3ExprAffinity(pX->pLeft)!=SQLITE_AFF_TEXT
163517 && (pE2 = pExpr->pLeft)->op==TK_COLUMN
163615 || (pExpr->op==TK_COLLATE && pExpr->pLeft->op==TK_COLUMN
163616 && pExpr->iColumn==pExpr->pLeft->iColumn) );
165035 int nCmp = sqlite3ExprVectorSize(pTerm->pExpr->pLeft);
165047 assert( ExprUseXList(pTerm->pExpr->pLeft) );
165048 pLhs = pTerm->pExpr->pLeft->x.pList->a[i].pExpr;
165582 if( !whereUsablePartialIndex(iTab,jointype,pWC,pWhere->pLeft) ) return 0;
165797 pPart = pPart->pLeft;
165801 Expr *pLeft = pPart->pLeft;
165805 if( pLeft->op!=TK_COLUMN ) return;
165808 if( pLeft->iColumn<0 ) return;
165809 aff = pIdx->pTable->aCol[pLeft->iColumn].affinity;
165819 p->iIdxCol = pLeft->iColumn;
165829 }else if( pLeft->iColumn<(BMS-1) ){
165830 *pMask &= ~((Bitmask)1 << pLeft->iColumn);
166421 if( pX->pLeft ){
172625 p->pLeft = p->pRight = 0;
176517 Expr *pRight, *pLeft, *pDot;
176520 pLeft = tokenExpr(pParse, TK_ID, yymsp[-2].minor.yy0);
176521 pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight);
177094 }else if( yymsp[-4].minor.yy454->pLeft->op==TK_VECTOR ){
177095 int nExpr = yymsp[-4].minor.yy454->pLeft->x.pList->nExpr;
186241 Fts3Expr *pLeft; /* Left operand */
190396 fts3EvalAllocateReaders(pCsr, pExpr->pLeft, pnToken, pnOr, pRc);
190438 char *pLeft;
190445 pLeft = p->doclist.aAll;
190453 pLeft = pList;
190459 pTab->bDescIdx, nDiff, pLeft, nLeft, &pRight, &nRight
190461 sqlite3_free(pLeft);
191052 fts3EvalStartReaders(pCsr, pExpr->pLeft, pRc);
191054 pExpr->bDeferred = (pExpr->pLeft->bDeferred && pExpr->pRight->bDeferred);
191114 assert( pExpr->pLeft && pExpr->pRight );
191116 pRoot = pExpr->pLeft;
191120 fts3EvalTokenCosts(pCsr, pRoot, pExpr->pLeft, ppTC, ppOr, pRc);
191504 Fts3Expr *pLeft = pExpr->pLeft;
191506 assert( !pLeft->bDeferred || !pRight->bDeferred );
191508 if( pLeft->bDeferred ){
191517 fts3EvalNextRow(pCsr, pLeft, pRc);
191518 pExpr->iDocid = pLeft->iDocid;
191519 pExpr->bEof = pLeft->bEof;
191522 fts3EvalNextRow(pCsr, pLeft, pRc);
191524 while( !pLeft->bEof && !pRight->bEof && *pRc==SQLITE_OK ){
191525 sqlite3_int64 iDiff = DOCID_CMP(pLeft->iDocid, pRight->iDocid);
191528 fts3EvalNextRow(pCsr, pLeft, pRc);
191533 pExpr->iDocid = pLeft->iDocid;
191534 pExpr->bEof = (pLeft->bEof || pRight->bEof);
191544 if( pLeft->pPhrase && pLeft->pPhrase->doclist.aAll ){
191545 Fts3Doclist *pDl = &pLeft->pPhrase->doclist;
191546 while( *pRc==SQLITE_OK && pLeft->bEof==0 ){
191548 fts3EvalNextRow(pCsr, pLeft, pRc);
191551 pRight->bEof = pLeft->bEof = 1;
191558 Fts3Expr *pLeft = pExpr->pLeft;
191560 sqlite3_int64 iCmp = DOCID_CMP(pLeft->iDocid, pRight->iDocid);
191562 assert_fts3_nc( pLeft->bStart || pLeft->iDocid==pRight->iDocid );
191563 assert_fts3_nc( pRight->bStart || pLeft->iDocid==pRight->iDocid );
191565 if( pRight->bEof || (pLeft->bEof==0 && iCmp<0) ){
191566 fts3EvalNextRow(pCsr, pLeft, pRc);
191567 }else if( pLeft->bEof || iCmp>0 ){
191570 fts3EvalNextRow(pCsr, pLeft, pRc);
191574 pExpr->bEof = (pLeft->bEof && pRight->bEof);
191575 iCmp = DOCID_CMP(pLeft->iDocid, pRight->iDocid);
191576 if( pRight->bEof || (pLeft->bEof==0 && iCmp<0) ){
191577 pExpr->iDocid = pLeft->iDocid;
191586 Fts3Expr *pLeft = pExpr->pLeft;
191594 fts3EvalNextRow(pCsr, pLeft, pRc);
191595 if( pLeft->bEof==0 ){
191598 && DOCID_CMP(pLeft->iDocid, pRight->iDocid)>0
191603 pExpr->iDocid = pLeft->iDocid;
191604 pExpr->bEof = pLeft->bEof;
191666 for(p=pExpr; p->pLeft; p=p->pLeft){
191687 for(p=pExpr->pLeft; p && res; p=p->pLeft){
191690 assert( p->pParent && p->pParent->pLeft==p );
191727 fts3EvalTestExpr(pCsr, pExpr->pLeft, pRc)
191752 for(p=pExpr; p->pPhrase==0; p=p->pLeft){
191765 int bHit1 = fts3EvalTestExpr(pCsr, pExpr->pLeft, pRc);
191773 fts3EvalTestExpr(pCsr, pExpr->pLeft, pRc)
191930 fts3EvalRestart(pCsr, pExpr->pLeft, pRc);
191969 fts3EvalUpdateCounts(pExpr->pLeft, nCol);
192229 for(p=pNear; p; p=p->pLeft){
193500 pNew->pLeft = pSplit;
193552 pNot->pLeft = pNotBranch;
193559 isPhrase = (eType==FTSQUERY_PHRASE || p->pLeft);
193607 assert( pPrev && pPrev->pLeft && pPrev->pRight==0 );
193638 while( pIter->pLeft ){
193639 pIter = pIter->pLeft;
193641 pIter->pLeft = pRet;
193669 rc = fts3ExprCheckDepth(p->pLeft, nMaxDepth-1);
193714 for(p=pRoot; p->eType==eType; p=p->pLeft){
193715 assert( p->pParent==0 || p->pParent->pLeft==p );
193716 assert( p->pLeft && p->pRight );
193724 assert( pParent==0 || pParent->pLeft==p );
193727 pParent->pLeft = 0;
193740 pFree->pLeft = apLeaf[iLvl];
193742 pFree->pLeft->pParent = pFree;
193761 for(p=pParent->pRight; p->eType==eType; p=p->pLeft);
193764 assert( pParent->pParent==0 || pParent->pParent->pLeft==pParent );
193767 pParent->pParent->pLeft = pParent->pRight;
193789 pFree->pLeft = apLeaf[i];
193790 pFree->pLeft->pParent = pFree;
193818 Fts3Expr *pLeft = pRoot->pLeft;
193821 pRoot->pLeft = 0;
193823 pLeft->pParent = 0;
193826 rc = fts3ExprBalance(&pLeft, nMaxDepth-1);
193833 sqlite3Fts3ExprFree(pLeft);
193835 assert( pLeft && pRight );
193836 pRoot->pLeft = pLeft;
193837 pLeft->pParent = pRoot;
193987 for(p=pDel; p && (p->pLeft||p->pRight); p=(p->pLeft ? p->pLeft : p->pRight)){
193988 assert( p->pParent==0 || p==p->pParent->pRight || p==p->pParent->pLeft );
193993 if( pParent && p==pParent->pLeft && pParent->pRight ){
193995 while( p && (p->pLeft || p->pRight) ){
193996 assert( p==p->pParent->pRight || p==p->pParent->pLeft );
193997 p = (p->pLeft ? p->pLeft : p->pRight);
194058 if( zBuf ) zBuf = exprToString(pExpr->pLeft, zBuf);
202567 assert( pExpr->pLeft && pExpr->pRight );
202568 rc = fts3ExprIterate2(pExpr->pLeft, piPhrase, x, pCtx);
203217 assert( (pExpr->pLeft==0)==(pExpr->pRight==0) );
203219 if( pExpr->pLeft ){
203220 rc = fts3ExprLHitGather(pExpr->pLeft, p);
212744 RtreeNode *pLeft,
212826 RtreeNode *pTarget = (ii<iBestSplit)?pLeft:pRight;
212876 RtreeNode *pLeft = 0;
212901 pLeft = nodeNew(pRtree, pNode);
212906 pLeft = pNode;
212907 pRight = nodeNew(pRtree, pLeft->pParent);
212908 pLeft->nRef++;
212911 if( !pLeft || !pRight ){
212916 memset(pLeft->zData, 0, pRtree->iNodeSize);
212919 rc = splitNodeStartree(pRtree, aCell, nCell, pLeft, pRight,
212931 || (0==pLeft->iNode && SQLITE_OK!=(rc = nodeWrite(pRtree, pLeft)))
212937 leftbbox.iRowid = pLeft->iNode;
212940 rc = rtreeInsertCell(pRtree, pLeft->pParent, &leftbbox, iHeight+1);
212945 RtreeNode *pParent = pLeft->pParent;
212947 rc = nodeParentIndex(pRtree, pLeft, &iCell);
212972 for(i=0; i<NCELL(pLeft); i++){
212973 i64 iRowid = nodeGetRowid(pRtree, pLeft, i);
212974 rc = updateMapping(pRtree, iRowid, pLeft, iHeight);
212980 rc = updateMapping(pRtree, pCell->iRowid, pLeft, iHeight);
212988 rc = nodeRelease(pRtree, pLeft);
212989 pLeft = 0;
212994 nodeRelease(pRtree, pLeft);
215571 static GeoEvent *geopolyEventMerge(GeoEvent *pLeft, GeoEvent *pRight){
215575 while( pRight && pLeft ){
215576 if( pRight->x <= pLeft->x ){
215581 pLast->pNext = pLeft;
215582 pLast = pLeft;
215583 pLeft = pLeft->pNext;
215586 pLast->pNext = pRight ? pRight : pLeft;
215618 static GeoSegment *geopolySegmentMerge(GeoSegment *pLeft, GeoSegment *pRight){
215622 while( pRight && pLeft ){
215623 double r = pRight->y - pLeft->y;
215624 if( r==0.0 ) r = pRight->C - pLeft->C;
215630 pLast->pNext = pLeft;
215631 pLast = pLeft;
215632 pLeft = pLeft->pNext;
215635 pLast->pNext = pRight ? pRight : pLeft;
230988 void *pLeft, /* Lhs input changeset */
230999 rc = sqlite3changegroup_add(pGrp, nLeft, pLeft);
232849 Fts5ExprNode *pLeft,
232856 Fts5ExprNode *pLeft,
237761 Fts5ExprPhrase *pLeft = pNear->apPhrase[0];
237779 if( pLeft->aTerm[0].pSynonym ){
237780 iLast = fts5ExprSynonymRowid(&pLeft->aTerm[0], bDesc, 0);
237782 iLast = pLeft->aTerm[0].pIter->iRowid;
239021 Fts5ExprNode *pLeft, /* Left hand child expression */
239032 || (eType==FTS5_STRING && !pLeft && !pRight)
239035 if( eType!=FTS5_STRING && pLeft==0 ) return pRight;
239036 if( eType!=FTS5_STRING && pRight==0 ) return pLeft;
239048 if( pLeft->eType==eType ) nChild += pLeft->nChild-1;
239084 fts5ExprAddChildren(pRet, pLeft);
239101 sqlite3Fts5ParseNodeFree(pLeft);
239110 Fts5ExprNode *pLeft, /* Left hand child expression */
239117 sqlite3Fts5ParseNodeFree(pLeft);
239121 assert( pLeft->eType==FTS5_STRING
239122 || pLeft->eType==FTS5_TERM
239123 || pLeft->eType==FTS5_EOF
239124 || pLeft->eType==FTS5_AND
239132 if( pLeft->eType==FTS5_AND ){
239133 pPrev = pLeft->apChild[pLeft->nChild-1];
239135 pPrev = pLeft;
239145 pRet = pLeft;
239151 if( pPrev==pLeft ){
239154 pLeft->apChild[pLeft->nChild-1] = pRight;
239155 pRet = pLeft;
239166 pRet = sqlite3Fts5ParseNode(pParse, FTS5_AND, pLeft, pRight, 0);
240332 Fts5HashEntry *pLeft,
240335 Fts5HashEntry *p1 = pLeft;
241269 Fts5Buffer *pLeft, /* Left hand side of comparison */
241272 int nCmp = MIN(pLeft->n, nRight);
241273 int res = memcmp(pLeft->p, pRight, nCmp);
241274 return (res==0 ? (pLeft->n - nRight) : res);
241287 static int fts5BufferCompare(Fts5Buffer *pLeft, Fts5Buffer *pRight){
241289 nCmp = MIN(pLeft->n, pRight->n);
241290 assert( nCmp<=0 || pLeft->p!=0 );
241292 res = fts5Memcmp(pLeft->p, pRight->p, nCmp);
241293 return (res==0 ? (pLeft->n - pRight->n) : res);