Lines Matching defs:pItem

30812         SrcItem *pItem;
30814 pItem = va_arg(ap, SrcItem*);
30816 if( pItem->zAlias && !flag_altform2 ){
30817 sqlite3_str_appendall(pAccum, pItem->zAlias);
30818 }else if( pItem->zName ){
30819 if( pItem->zDatabase ){
30820 sqlite3_str_appendall(pAccum, pItem->zDatabase);
30823 sqlite3_str_appendall(pAccum, pItem->zName);
30824 }else if( pItem->zAlias ){
30825 sqlite3_str_appendall(pAccum, pItem->zAlias);
30827 Select *pSel = pItem->pSelect;
31520 const SrcItem *pItem = &pSrc->a[i];
31526 sqlite3_str_appendf(&x, "{%d:*} %!S", pItem->iCursor, pItem);
31527 if( pItem->pTab ){
31529 pItem->pTab->zName, pItem->pTab->nCol, pItem->pTab, pItem->colUsed);
31531 if( (pItem->fg.jointype & (JT_LEFT|JT_RIGHT))==(JT_LEFT|JT_RIGHT) ){
31533 }else if( pItem->fg.jointype & JT_LEFT ){
31535 }else if( pItem->fg.jointype & JT_RIGHT ){
31537 }else if( pItem->fg.jointype & JT_CROSS ){
31540 if( pItem->fg.jointype & JT_LTORJ ){
31543 if( pItem->fg.fromDDL ){
31546 if( pItem->fg.isCte ){
31547 sqlite3_str_appendf(&x, " CteUse=0x%p", pItem->u2.pCteUse);
31549 if( pItem->fg.isOn || (pItem->fg.isUsing==0 && pItem->u3.pOn!=0) ){
31555 if( pItem->pSelect ) n++;
31556 if( pItem->fg.isTabFunc ) n++;
31557 if( pItem->fg.isUsing ) n++;
31558 if( pItem->fg.isUsing ){
31559 sqlite3TreeViewIdList(pView, pItem->u3.pUsing, (--n)>0, "USING");
31561 if( pItem->pSelect ){
31562 if( pItem->pTab ){
31563 Table *pTab = pItem->pTab;
31566 assert( (int)pItem->fg.isNestedFrom == IsNestedFrom(pItem->pSelect) );
31567 sqlite3TreeViewSelect(pView, pItem->pSelect, (--n)>0);
31569 if( pItem->fg.isTabFunc ){
31570 sqlite3TreeViewExprList(pView, pItem->u1.pFuncArg, 0, "func-args:");
103521 struct ExprList_item *pItem;
103523 for(i=p->nExpr, pItem=p->a; i>0; i--, pItem++){
103524 if( sqlite3WalkExpr(pWalker, pItem->pExpr) ) return WRC_Abort;
103582 SrcItem *pItem;
103586 for(i=pSrc->nSrc, pItem=pSrc->a; i>0; i--, pItem++){
103587 if( pItem->pSelect && sqlite3WalkSelect(pWalker, pItem->pSelect) ){
103590 if( pItem->fg.isTabFunc
103591 && sqlite3WalkExprList(pWalker, pItem->u1.pFuncArg)
103789 const struct ExprList_item *pItem,
103796 if( pItem->fg.eEName!=ENAME_TAB ) return 0;
103797 zSpan = pItem->zEName;
103920 SrcItem *pItem; /* Use for looping over pSrcList items */
103975 for(i=0, pItem=pSrcList->a; i<pSrcList->nSrc; i++, pItem++){
103977 pTab = pItem->pTab;
103980 assert( (int)pItem->fg.isNestedFrom == IsNestedFrom(pItem->pSelect) );
103981 if( pItem->fg.isNestedFrom ){
103982 /* In this case, pItem is a subquery that has been formed from a
103986 ** This pItem -------------^
103989 assert( pItem->pSelect!=0 );
103990 pEList = pItem->pSelect->pEList;
103998 if( pItem->fg.isUsing==0
103999 || sqlite3IdListIndex(pItem->u3.pUsing, zCol)<0
104007 if( (pItem->fg.jointype & JT_RIGHT)==0 ){
104011 if( (pItem->fg.jointype & JT_LEFT)==0 ){
104023 pMatch = pItem;
104038 zTabName = pItem->zAlias ? pItem->zAlias : pTab->zName;
104044 if( IN_RENAME_OBJECT && pItem->zAlias ){
104054 if( pItem->fg.isUsing==0
104055 || sqlite3IdListIndex(pItem->u3.pUsing, zCol)<0
104063 if( (pItem->fg.jointype & JT_RIGHT)==0 ){
104067 if( (pItem->fg.jointype & JT_LEFT)==0 ){
104078 pMatch = pItem;
104081 if( pItem->fg.isNestedFrom ){
104082 sqlite3SrcItemColumnUsed(pItem, j);
104089 pMatch = pItem;
104441 SrcItem *pItem = &pSrc->a[iSrc];
104444 pTab = p->y.pTab = pItem->pTab;
104445 p->iTable = pItem->iCursor;
104455 pItem->colUsed = pTab->nCol>=64 ? ALLBITS : MASKBIT(pTab->nCol)-1;
104459 pItem->colUsed |= ((Bitmask)1)<<(iCol>=BMS ? BMS-1 : iCol);
104558 SrcItem *pItem;
104560 pItem = pSrcList->a;
104563 pExpr->y.pTab = pItem->pTab;
104564 pExpr->iTable = pItem->iCursor;
105132 struct ExprList_item *pItem;
105136 for(i=0, pItem=pOrderBy->a; i<pOrderBy->nExpr; i++, pItem++){
105139 if( pItem->fg.done ) continue;
105140 pE = sqlite3ExprSkipCollateAndLikely(pItem->pExpr);
105180 if( pItem->pExpr==pE ){
105181 pItem->pExpr = pNew;
105183 Expr *pParent = pItem->pExpr;
105190 pItem->u.x.iOrderByCol = (u16)iCol;
105192 pItem->fg.done = 1;
105228 struct ExprList_item *pItem;
105237 for(i=0, pItem=pOrderBy->a; i<pOrderBy->nExpr; i++, pItem++){
105238 if( pItem->u.x.iOrderByCol ){
105239 if( pItem->u.x.iOrderByCol>pEList->nExpr ){
105243 resolveAlias(pParse, pEList, pItem->u.x.iOrderByCol-1, pItem->pExpr,0);
105305 struct ExprList_item *pItem; /* A term of the ORDER BY clause */
105312 for(i=0, pItem=pOrderBy->a; i<pOrderBy->nExpr; i++, pItem++){
105313 Expr *pE = pItem->pExpr;
105323 pItem->u.x.iOrderByCol = (u16)iCol;
105335 pItem->u.x.iOrderByCol = (u16)iCol;
105340 pItem->u.x.iOrderByCol = 0;
105350 pItem->u.x.iOrderByCol = j+1;
105430 SrcItem *pItem = &p->pSrc->a[i];
105431 if( pItem->pSelect && (pItem->pSelect->selFlags & SF_Resolved)==0 ){
105435 if( pItem->zName ) pParse->zAuthContext = pItem->zName;
105436 sqlite3ResolveSelectNames(pParse, pItem->pSelect, pOuterNC);
105448 assert( pItem->fg.isCorrelated==0 && pOuterNC->nRef>=nRef );
105449 pItem->fg.isCorrelated = (pOuterNC->nRef>nRef);
105500 SrcItem *pItem = &p->pSrc->a[i];
105501 if( pItem->fg.isTabFunc
105502 && sqlite3ResolveExprListNames(&sNC, pItem->u1.pFuncArg)
105563 struct ExprList_item *pItem;
105568 for(i=0, pItem=pGroupBy->a; i<pGroupBy->nExpr; i++, pItem++){
105569 if( ExprHasProperty(pItem->pExpr, EP_Agg) ){
107416 struct ExprList_item *pItem;
107427 pItem = pNew->a;
107429 for(i=0; i<p->nExpr; i++, pItem++, pOldItem++){
107432 pItem->pExpr = sqlite3ExprDup(db, pOldExpr, flags);
107435 && (pNewExpr = pItem->pExpr)!=0
107450 pItem->zEName = sqlite3DbStrDup(db, pOldItem->zEName);
107451 pItem->fg = pOldItem->fg;
107452 pItem->fg.done = 0;
107453 pItem->u = pOldItem->u;
107608 struct ExprList_item *pItem;
107618 pItem = &pList->a[0];
107619 *pItem = zeroItem;
107620 pItem->pExpr = pExpr;
107628 struct ExprList_item *pItem;
107640 pItem = &pList->a[pList->nExpr++];
107641 *pItem = zeroItem;
107642 pItem->pExpr = pExpr;
107650 struct ExprList_item *pItem;
107657 pItem = &pList->a[pList->nExpr++];
107658 *pItem = zeroItem;
107659 pItem->pExpr = pExpr;
107737 struct ExprList_item *pItem;
107751 pItem = &p->a[p->nExpr-1];
107752 assert( pItem->fg.bNulls==0 );
107756 pItem->fg.sortFlags = (u8)iSortOrder;
107759 pItem->fg.bNulls = 1;
107761 pItem->fg.sortFlags |= KEYINFO_ORDER_BIGNULL;
107783 struct ExprList_item *pItem;
107785 pItem = &pList->a[pList->nExpr-1];
107786 assert( pItem->zEName==0 );
107787 assert( pItem->fg.eEName==ENAME_NAME );
107788 pItem->zEName = sqlite3DbStrNDup(pParse->db, pName->z, pName->n);
107793 sqlite3Dequote(pItem->zEName);
107795 sqlite3RenameTokenMap(pParse, (const void*)pItem->zEName, pName);
107818 struct ExprList_item *pItem = &pList->a[pList->nExpr-1];
107820 if( pItem->zEName==0 ){
107821 pItem->zEName = sqlite3DbSpanDup(db, zStart, zEnd);
107822 pItem->fg.eEName = ENAME_SPAN;
107849 struct ExprList_item *pItem = pList->a;
107853 sqlite3ExprDelete(db, pItem->pExpr);
107854 if( pItem->zEName ) sqlite3DbNNFreeNN(db, pItem->zEName);
107855 pItem++;
108992 struct ExprList_item *pItem;
109008 for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){
109009 Expr *pE2 = pItem->pExpr;
110715 struct ExprList_item *pItem;
110717 for(pItem=p->a, i=p->nExpr; i>0; pItem++, i--){
110718 if( pItem->fg.reusable
110719 && sqlite3ExprCompare(0,pItem->pExpr,pExpr,-1)==0
110721 return pItem->u.iConstExprReg;
110742 struct ExprList_item *pItem = &p->a[p->nExpr-1];
110743 pItem->fg.reusable = regDest<0;
110745 pItem->u.iConstExprReg = regDest;
110865 struct ExprList_item *pItem;
110874 for(pItem=pList->a, i=0; i<n; i++, pItem++){
110875 Expr *pExpr = pItem->pExpr;
110877 if( pItem->fg.bSorterRef ){
110882 if( (flags & SQLITE_ECEL_REF)!=0 && (j = pItem->u.x.iOrderByCol)>0 ){
112081 SrcItem *pItem = pSrcList->a;
112082 for(i=0; i<pSrcList->nSrc; i++, pItem++){
112085 if( pExpr->iTable==pItem->iCursor ){
112145 } /* endif pExpr->iTable==pItem->iCursor */
112157 struct AggInfo_func *pItem = pAggInfo->aFunc;
112158 for(i=0; i<pAggInfo->nFunc; i++, pItem++){
112159 if( pItem->pFExpr==pExpr ) break;
112160 if( sqlite3ExprCompare(0, pItem->pFExpr, pExpr, -1)==0 ){
112171 pItem = &pAggInfo->aFunc[i];
112172 pItem->pFExpr = pExpr;
112173 pItem->iMem = ++pParse->nMem;
112175 pItem->pFunc = sqlite3FindFunction(pParse->db,
112179 pItem->iDistinct = pParse->nTab++;
112181 pItem->iDistinct = -1;
112228 struct ExprList_item *pItem;
112231 for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
112232 sqlite3ExprAnalyzeAggregates(pNC, pItem->pExpr);
113982 SrcItem *pItem = &pSrc->a[i];
113983 if( pItem->pTab==p->pTab ){
113984 renameTokenFind(pWalker->pParse, p, pItem->zName);
114127 SrcItem *pItem = &pStep->pFrom->a[i];
114128 if( 0==sqlite3_stricmp(pItem->zName, zOld) ){
114129 renameTokenFind(&sParse, &sCtx, pItem->zName);
117041 SrcItem *pItem;
117047 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
117049 if( pItem->zDatabase ){
117050 if( iDb!=sqlite3FindDbName(db, pItem->zDatabase) ){
117053 pFix->zType, pFix->pName, pItem->zDatabase);
117056 sqlite3DbFree(db, pItem->zDatabase);
117057 pItem->zDatabase = 0;
117058 pItem->fg.notCte = 1;
117060 pItem->pSchema = pFix->pSchema;
117061 pItem->fg.fromDDL = 1;
122320 SrcItem *pItem;
122342 pItem = &pList->a[pList->nSrc-1];
122347 pItem->zName = sqlite3NameFromToken(db, pDatabase);
122348 pItem->zDatabase = sqlite3NameFromToken(db, pTable);
122350 pItem->zName = sqlite3NameFromToken(db, pTable);
122351 pItem->zDatabase = 0;
122361 SrcItem *pItem;
122364 for(i=0, pItem=pList->a; i<pList->nSrc; i++, pItem++){
122365 if( pItem->iCursor>=0 ) continue;
122366 pItem->iCursor = pParse->nTab++;
122367 if( pItem->pSelect ){
122368 sqlite3SrcListAssignCursors(pParse, pItem->pSelect->pSrc);
122379 SrcItem *pItem;
122382 for(pItem=pList->a, i=0; i<pList->nSrc; i++, pItem++){
122383 if( pItem->zDatabase ) sqlite3DbNNFreeNN(db, pItem->zDatabase);
122384 if( pItem->zName ) sqlite3DbNNFreeNN(db, pItem->zName);
122385 if( pItem->zAlias ) sqlite3DbNNFreeNN(db, pItem->zAlias);
122386 if( pItem->fg.isIndexedBy ) sqlite3DbFree(db, pItem->u1.zIndexedBy);
122387 if( pItem->fg.isTabFunc ) sqlite3ExprListDelete(db, pItem->u1.pFuncArg);
122388 sqlite3DeleteTable(db, pItem->pTab);
122389 if( pItem->pSelect ) sqlite3SelectDelete(db, pItem->pSelect);
122390 if( pItem->fg.isUsing ){
122391 sqlite3IdListDelete(db, pItem->u3.pUsing);
122392 }else if( pItem->u3.pOn ){
122393 sqlite3ExprDelete(db, pItem->u3.pOn);
122424 SrcItem *pItem;
122437 pItem = &p->a[p->nSrc-1];
122439 assert( pItem->zName==0 || pDatabase!=0 );
122440 if( IN_RENAME_OBJECT && pItem->zName ){
122442 sqlite3RenameTokenMap(pParse, pItem->zName, pToken);
122446 pItem->zAlias = sqlite3NameFromToken(db, pAlias);
122449 pItem->pSelect = pSubquery;
122451 pItem->fg.isNestedFrom = 1;
122455 assert( pItem->fg.isUsing==0 );
122457 pItem->u3.pOn = 0;
122459 pItem->fg.isUsing = 1;
122460 pItem->u3.pUsing = pOnUsing->pUsing;
122462 pItem->u3.pOn = pOnUsing->pOn;
122480 SrcItem *pItem;
122482 pItem = &p->a[p->nSrc-1];
122483 assert( pItem->fg.notIndexed==0 );
122484 assert( pItem->fg.isIndexedBy==0 );
122485 assert( pItem->fg.isTabFunc==0 );
122489 pItem->fg.notIndexed = 1;
122491 pItem->u1.zIndexedBy = sqlite3NameFromToken(pParse->db, pIndexedBy);
122492 pItem->fg.isIndexedBy = 1;
122493 assert( pItem->fg.isCte==0 ); /* No collision on union u2 */
122525 SrcItem *pItem = &p->a[p->nSrc-1];
122526 assert( pItem->fg.notIndexed==0 );
122527 assert( pItem->fg.isIndexedBy==0 );
122528 assert( pItem->fg.isTabFunc==0 );
122529 pItem->u1.pFuncArg = pList;
122530 pItem->fg.isTabFunc = 1;
123729 SrcItem *pItem = pSrc->a;
123731 assert( pItem && pSrc->nSrc>=1 );
123732 pTab = sqlite3LocateTableItem(pParse, 0, pItem);
123733 sqlite3DeleteTable(pParse->db, pItem->pTab);
123734 pItem->pTab = pTab;
123737 if( pItem->fg.isIndexedBy && sqlite3IndexedByLookup(pParse, pItem) ){
128168 SrcItem *pItem = pSrc->a;
128169 pItem->pTab = pFKey->pFrom;
128170 pItem->zName = pFKey->pFrom->zName;
128171 pItem->pTab->nTabRef++;
128172 pItem->iCursor = pParse->nTab++;
128201 pItem->zName = 0;
131393 SrcItem *pItem; /* An element of pSelect->pSrc */
131462 pItem = pSelect->pSrc->a;
131463 pSrc = sqlite3LocateTableItem(pParse, 0, pItem);
138536 SQLITE_PRIVATE void sqlite3SrcItemColumnUsed(SrcItem *pItem, int iCol){
138537 assert( pItem!=0 );
138538 assert( (int)pItem->fg.isNestedFrom == IsNestedFrom(pItem->pSelect) );
138539 if( pItem->fg.isNestedFrom ){
138541 assert( pItem->pSelect!=0 );
138542 pResults = pItem->pSelect->pEList;
139239 struct ExprList_item *pItem = &pEList->a[i];
139240 if( pItem->u.x.iOrderByCol==0 ){
139241 Expr *pExpr = pItem->pExpr;
139281 pItem->fg.bSorterRef = 1;
139796 struct ExprList_item *pItem;
139804 for(i=iStart, pItem=pList->a+iStart; i<nExpr; i++, pItem++){
139805 pInfo->aColl[i-iStart] = sqlite3ExprNNCollSeq(pParse, pItem->pExpr);
139806 pInfo->aSortFlags[i-iStart] = pItem->fg.sortFlags;
140745 struct ExprList_item *pItem = &pOrderBy->a[i];
140746 Expr *pTerm = pItem->pExpr;
140752 pColl = multiSelectCollSeq(pParse, p, pItem->u.x.iOrderByCol-1);
141711 struct ExprList_item *pItem;
141712 for(j=0, pItem=pOrderBy->a; j<nOrderBy; j++, pItem++){
141713 assert( pItem!=0 );
141714 assert( pItem->u.x.iOrderByCol>0 );
141715 if( pItem->u.x.iOrderByCol==i ) break;
141737 struct ExprList_item *pItem;
141739 for(i=1, pItem=pOrderBy->a; i<=nOrderBy; i++, pItem++){
141740 assert( pItem!=0 );
141741 assert( pItem->u.x.iOrderByCol>0 );
141742 assert( pItem->u.x.iOrderByCol<=p->pEList->nExpr );
141743 aPermute[i] = pItem->u.x.iOrderByCol - 1;
142141 SrcItem *pItem;
142152 for(i=pSrc->nSrc, pItem=pSrc->a; i>0; i--, pItem++){
142153 substSelect(pSubst, pItem->pSelect, 1);
142154 if( pItem->fg.isTabFunc ){
142155 substExprList(pSubst, pItem->u1.pFuncArg);
142171 SrcItem *pItem;
142173 pItem = pWalker->u.pSrcItem;
142174 if( pItem->iCursor!=pExpr->iTable ) return WRC_Continue;
142176 pItem->colUsed |= sqlite3ExprColUsed(pExpr);
142215 SrcItem *pItem;
142216 for(i=0, pItem=pSrc->a; i<pSrc->nSrc; i++, pItem++){
142219 assert( pItem->iCursor < aCsrMap[0] );
142220 if( !pItem->fg.isRecursive || aCsrMap[pItem->iCursor+1]==0 ){
142221 aCsrMap[pItem->iCursor+1] = pParse->nTab++;
142223 pItem->iCursor = aCsrMap[pItem->iCursor+1];
142224 for(p=pItem->pSelect; p; p=p->pPrior){
142811 SrcItem *pItem = &pSrc->a[i+iFrom];
142812 if( pItem->fg.isUsing ) sqlite3IdListDelete(db, pItem->u3.pUsing);
142813 assert( pItem->fg.isTabFunc==0 );
142814 *pItem = pSubSrc->a[i];
142815 pItem->fg.jointype |= ltorj;
143617 ** FROM clause element pItem is really a common-table-expression (CTE)
143626 SrcItem *pItem, /* FROM clause element to resolve */
143629 const char *zName = pItem->zName;
143631 assert( pItem->zDatabase==0 );
143791 SrcItem *pItem = &pSrc->a[i];
143792 if( pItem->zDatabase==0
143793 && pItem->zName!=0
143794 && 0==sqlite3StrICmp(pItem->zName, pCte->zName)
143796 pItem->pTab = pTab;
143798 pItem->fg.isRecursive = 1;
143807 pItem->iCursor = iRecTab;
144595 struct ExprList_item *pItem;
144598 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
144599 pColl = sqlite3ExprCollSeq(pParse, pItem->pExpr);
144733 SrcItem *pItem;
144736 for(pItem = pTabList->a; pItem<pThis; pItem++){
144738 if( pItem->pSelect==0 ) continue;
144739 if( pItem->fg.viaCoroutine ) continue;
144740 if( pItem->zName==0 ) continue;
144741 assert( pItem->pTab!=0 );
144743 if( pItem->pTab->pSchema!=pThis->pTab->pSchema ) continue;
144744 if( sqlite3_stricmp(pItem->zName, pThis->zName)!=0 ) continue;
144745 pS1 = pItem->pSelect;
144746 if( pItem->pTab->pSchema==0 && pThis->pSelect->selId!=pS1->selId ){
144751 if( pItem->pSelect->selFlags & SF_PushDown ){
144756 return pItem;
145027 SrcItem *pItem = &pTabList->a[i];
145028 Select *pSub = pItem->pSelect;
145029 Table *pTab = pItem->pTab;
145039 if( (pItem->fg.jointype & (JT_LEFT|JT_RIGHT))==JT_LEFT
145040 && sqlite3ExprImpliesNonNullRow(p->pWhere, pItem->iCursor)
145045 pItem->fg.jointype &= ~(JT_LEFT|JT_OUTER);
145046 assert( pItem->iCursor>=0 );
145047 unsetJoinExpr(p->pWhere, pItem->iCursor,
145199 SrcItem *pItem = &pTabList->a[i];
145223 if( pItem->colUsed==0 && pItem->zName!=0 ){
145224 sqlite3AuthCheck(pParse, SQLITE_READ, pItem->zName, "", pItem->zDatabase);
145230 pSub = pItem->pSelect;
145234 assert( pItem->addrFillSub==0 );
145249 && (pItem->fg.isCte==0
145250 || (pItem->u2.pCteUse->eM10d!=M10d_Yes && pItem->u2.pCteUse->nUse<2))
145251 && pushDownWhereTerms(pParse, pSub, p->pWhere, pItem)
145260 assert( pItem->pSelect && (pItem->pSelect->selFlags & SF_PushDown)!=0 );
145266 pParse->zAuthContext = pItem->zName;
145281 && (pItem->fg.isCte==0 || pItem->u2.pCteUse->eM10d!=M10d_Yes) /* (2) */
145289 pItem->regReturn = ++pParse->nMem;
145290 sqlite3VdbeAddOp3(v, OP_InitCoroutine, pItem->regReturn, 0, addrTop);
145291 VdbeComment((v, "%!S", pItem));
145292 pItem->addrFillSub = addrTop;
145293 sqlite3SelectDestInit(&dest, SRT_Coroutine, pItem->regReturn);
145294 ExplainQueryPlan((pParse, 1, "CO-ROUTINE %!S", pItem));
145296 pItem->pTab->nRowLogEst = pSub->nSelectRow;
145297 pItem->fg.viaCoroutine = 1;
145298 pItem->regResult = dest.iSdst;
145299 sqlite3VdbeEndCoroutine(v, pItem->regReturn);
145302 }else if( pItem->fg.isCte && pItem->u2.pCteUse->addrM9e>0 ){
145305 ** the make the pItem->iCursor be a copy of the ephemerial table that
145307 CteUse *pCteUse = pItem->u2.pCteUse;
145309 if( pItem->iCursor!=pCteUse->iCur ){
145310 sqlite3VdbeAddOp2(v, OP_OpenDup, pItem->iCursor, pCteUse->iCur);
145311 VdbeComment((v, "%!S", pItem));
145314 }else if( (pPrior = isSelfJoinView(pTabList, pItem))!=0 ){
145320 sqlite3VdbeAddOp2(v, OP_OpenDup, pItem->iCursor, pPrior->iCursor);
145329 pItem->regReturn = ++pParse->nMem;
145331 pItem->addrFillSub = topAddr+1;
145332 pItem->fg.isMaterialized = 1;
145333 if( pItem->fg.isCorrelated==0 ){
145338 VdbeComment((v, "materialize %!S", pItem));
145340 VdbeNoopComment((v, "materialize %!S", pItem));
145342 sqlite3SelectDestInit(&dest, SRT_EphemTab, pItem->iCursor);
145343 ExplainQueryPlan((pParse, 1, "MATERIALIZE %!S", pItem));
145344 dest.zAffSdst = sqlite3TableAffinityStr(db, pItem->pTab);
145348 pItem->pTab->nRowLogEst = pSub->nSelectRow;
145350 sqlite3VdbeAddOp2(v, OP_Return, pItem->regReturn, topAddr+1);
145351 VdbeComment((v, "end %!S", pItem));
145354 if( pItem->fg.isCte && pItem->fg.isCorrelated==0 ){
145355 CteUse *pCteUse = pItem->u2.pCteUse;
145356 pCteUse->addrM9e = pItem->addrFillSub;
145357 pCteUse->regRtn = pItem->regReturn;
145358 pCteUse->iCur = pItem->iCursor;
145581 struct ExprList_item *pItem; /* For looping over expression in a list */
145583 for(k=p->pEList->nExpr, pItem=p->pEList->a; k>0; k--, pItem++){
145584 pItem->u.x.iAlias = 0;
145586 for(k=pGroupBy->nExpr, pItem=pGroupBy->a; k>0; k--, pItem++){
145587 pItem->u.x.iAlias = 0;
147293 struct ExprList_item *pItem = &pNew->a[pNew->nExpr-1];
147294 pItem->zEName = sqlite3DbStrDup(db, pTab->aCol[jj].zCnName);
147295 pItem->fg.eEName = ENAME_NAME;
147302 struct ExprList_item *pItem = &pNew->a[pNew->nExpr-1];
147303 pItem->zEName = sqlite3DbStrDup(db, pList->a[i].zEName);
147304 pItem->fg.eEName = pList->a[i].fg.eEName;
152058 SrcItem *pItem = &pTabList->a[pLevel->iFrom];
152078 sqlite3_str_appendf(&str, "%s %S", isSearch ? "SEARCH" : "SCAN", pItem);
152086 if( !HasRowid(pItem->pTab) && IsPrimaryKeyIndex(pIdx) ){
152107 const Table *pTab = pItem->pTab;
152133 if( pItem->fg.jointype & JT_LEFT ){
152168 SrcItem *pItem = &pWInfo->pTabList->a[pLevel->iFrom];
152179 sqlite3_str_appendf(&str, "BLOOM FILTER ON %S (", pItem);
152182 const Table *pTab = pItem->pTab;
156507 SrcItem *pItem, /* The FROM clause term to process */
156515 if( pItem->fg.isTabFunc==0 ) return;
156516 pTab = pItem->pTab;
156518 pArgs = pItem->u1.pFuncArg;
156531 pColRef->iTable = pItem->iCursor;
156535 pItem->colUsed |= sqlite3ExprColUsed(pColRef);
156539 if( pItem->fg.jointype & (JT_LEFT|JT_LTORJ) ){
156544 sqlite3SetJoinExpr(pTerm, pItem->iCursor, joinType);
157626 const SrcItem *pItem;
157642 pItem = &pWInfo->pTabList->a[pLevel->iFrom];
157643 assert( pItem!=0 );
157644 pTab = pItem->pTab;
157659 && sqlite3ExprIsTableConstraint(pExpr, pItem)
157676 assert( pIdx->pTable==pItem->pTab );
158694 SrcItem *pItem = pWInfo->pTabList->a + p->iTab;
158695 Table *pTab = pItem->pTab;
158700 pItem->zAlias ? pItem->zAlias : pTab->zName);
160690 SrcItem *pItem;
160696 pItem = pWInfo->pTabList->a + pNew->iTab;
160697 iCur = pItem->iCursor;
160700 if( pItem->fg.jointype & JT_RIGHT ) return SQLITE_OK;
160739 if( IsVirtual(pItem->pTab) ){
160811 SrcItem *pItem;
160830 for(iTab=0, pItem=pTabList->a; pItem<pEnd; iTab++, pItem++){
160834 pNew->maskSelf = sqlite3WhereGetMask(&pWInfo->sMaskSet, pItem->iCursor);
160836 || (pItem->fg.jointype & (JT_OUTER|JT_CROSS|JT_LTORJ))!=0
160848 if( pItem->fg.jointype & JT_LTORJ ) hasRightJoin = 1;
160850 bFirstPastRJ = (pItem->fg.jointype & JT_RIGHT)!=0;
160855 if( IsVirtual(pItem->pTab) ){
160857 for(p=&pItem[1]; p<pEnd; p++){
161730 SrcItem *pItem;
161743 pItem = pWInfo->pTabList->a;
161744 pTab = pItem->pTab;
161746 if( pItem->fg.isIndexedBy || pItem->fg.notIndexed ){
161747 testcase( pItem->fg.isIndexedBy );
161748 testcase( pItem->fg.notIndexed );
161751 iCur = pItem->iCursor;
161784 if( pIdx->isCovering || (pItem->colUsed & pIdx->colNotIdxed)==0 ){
161919 SrcItem *pItem;
161922 pItem = &pWInfo->pTabList->a[pLoop->iTab];
161923 if( (pItem->fg.jointype & (JT_LEFT|JT_RIGHT))!=JT_LEFT ) continue;
161934 || pTerm->pExpr->w.iJoin!=pItem->iCursor
161992 SrcItem *pItem = &pWInfo->pTabList->a[pLoop->iTab];
161993 Table *pTab = pItem->pTab;
161998 testcase( pItem->fg.jointype & JT_LEFT );