Lines Matching refs:pSrc
83 sqlite3SrcListDelete(db, p->pSrc); in clearSelect()
125 SrcList *pSrc, /* the FROM clause -- which tables to scan */ in sqlite3SelectNew() argument
153 if( pSrc==0 ) pSrc = sqlite3DbMallocZero(pParse->db, sizeof(*pSrc)); in sqlite3SelectNew()
154 pNew->pSrc = pSrc; in sqlite3SelectNew()
171 assert( pNew->pSrc!=0 || pParse->nErr>0 ); in sqlite3SelectNew()
350 SrcList *pSrc, /* Array of tables to search */ in tableAndColumnIndex() argument
361 assert( iEnd<pSrc->nSrc ); in tableAndColumnIndex()
366 iCol = sqlite3ColumnIndex(pSrc->a[i].pTab, zCol); in tableAndColumnIndex()
368 && (bIgnoreHidden==0 || IsHiddenColumn(&pSrc->a[i].pTab->aCol[iCol])==0) in tableAndColumnIndex()
371 sqlite3SrcItemColumnUsed(&pSrc->a[i], iCol); in tableAndColumnIndex()
487 SrcList *pSrc; /* All tables in the FROM clause */ in sqlite3ProcessJoin() local
492 pSrc = p->pSrc; in sqlite3ProcessJoin()
493 pLeft = &pSrc->a[0]; in sqlite3ProcessJoin()
495 for(i=0; i<pSrc->nSrc-1; i++, pRight++, pLeft++){ in sqlite3ProcessJoin()
517 if( tableAndColumnIndex(pSrc, 0, i, zName, 0, 0, 1) ){ in sqlite3ProcessJoin()
557 || tableAndColumnIndex(pSrc, 0, i, zName, &iLeft, &iLeftCol, in sqlite3ProcessJoin()
564 pE1 = sqlite3CreateColumnExpr(db, pSrc, iLeft, iLeftCol); in sqlite3ProcessJoin()
565 sqlite3SrcItemColumnUsed(&pSrc->a[iLeft], iLeftCol); in sqlite3ProcessJoin()
566 if( (pSrc->a[0].fg.jointype & JT_LTORJ)!=0 ){ in sqlite3ProcessJoin()
582 while( tableAndColumnIndex(pSrc, iLeft+1, i, zName, &iLeft, &iLeftCol, in sqlite3ProcessJoin()
584 if( pSrc->a[iLeft].fg.isUsing==0 in sqlite3ProcessJoin()
585 || sqlite3IdListIndex(pSrc->a[iLeft].u3.pUsing, zName)<0 in sqlite3ProcessJoin()
592 pE1 = sqlite3CreateColumnExpr(db, pSrc, iLeft, iLeftCol); in sqlite3ProcessJoin()
593 sqlite3SrcItemColumnUsed(&pSrc->a[iLeft], iLeftCol); in sqlite3ProcessJoin()
600 pE2 = sqlite3CreateColumnExpr(db, pSrc, i+1, iRightCol); in sqlite3ProcessJoin()
1934 sNC.pSrcList = pS->pSrc; in columnTypeImpl()
1980 sNC.pSrcList = pS->pSrc; in columnTypeImpl()
2095 pTabList = pSelect->pSrc; in sqlite3GenerateColumnNames()
2299 sNC.pSrcList = pSelect->pSrc; in sqlite3SelectAddColumnTypeAndCollation()
2558 SrcList *pSrc = p->pSrc; /* The FROM clause of the recursive query */ in generateWithRecursiveQuery() local
2599 for(i=0; ALWAYS(i<pSrc->nSrc); i++){ in generateWithRecursiveQuery()
2600 if( pSrc->a[i].fg.isRecursive ){ in generateWithRecursiveQuery()
2601 iCurrent = pSrc->a[i].iCursor; in generateWithRecursiveQuery()
3890 SrcList *pSrc; in substSelect() local
3900 pSrc = p->pSrc; in substSelect()
3901 assert( pSrc!=0 ); in substSelect()
3902 for(i=pSrc->nSrc, pItem=pSrc->a; i>0; i--, pItem++){ in substSelect()
3961 SrcList *pSrc, /* FROM clause to renumber */ in srclistRenumberCursors() argument
3966 for(i=0, pItem=pSrc->a; i<pSrc->nSrc; i++, pItem++){ in srclistRenumberCursors()
3975 srclistRenumberCursors(pParse, aCsrMap, p->pSrc, -1); in srclistRenumberCursors()
4032 srclistRenumberCursors(pParse, aCsrMap, p->pSrc, iExcept); in renumberCursors()
4236 SrcList *pSrc; /* The FROM clause of the outer query */ in flattenSubquery() local
4253 pSrc = p->pSrc; in flattenSubquery()
4254 assert( pSrc && iFrom>=0 && iFrom<pSrc->nSrc ); in flattenSubquery()
4255 pSubitem = &pSrc->a[iFrom]; in flattenSubquery()
4264 pSubSrc = pSub->pSrc; in flattenSubquery()
4278 if( pSub->pLimit && (pSrc->nSrc>1 || isAgg) ){ in flattenSubquery()
4343 assert( pSub->pSrc!=0 ); in flattenSubquery()
4348 || pSub1->pSrc->nSrc<1 /* (17c) */ in flattenSubquery()
4355 if( iFrom>0 && (pSub1->pSrc->a[0].fg.jointype & JT_LTORJ)!=0 ){ in flattenSubquery()
4361 testcase( pSub1->pSrc->nSrc>1 ); in flattenSubquery()
4389 if( pSrc->nSrc>1 ){ in flattenSubquery()
4526 u8 ltorj = pSrc->a[iFrom].fg.jointype & JT_LTORJ; in flattenSubquery()
4528 pSubSrc = pSub->pSrc; /* FROM clause of subquery */ in flattenSubquery()
4530 pSrc = pParent->pSrc; /* FROM clause of the outer query */ in flattenSubquery()
4552 pSrc = sqlite3SrcListEnlarge(pParse, pSrc, nSubSrc-1,iFrom+1); in flattenSubquery()
4553 if( pSrc==0 ) break; in flattenSubquery()
4554 pParent->pSrc = pSrc; in flattenSubquery()
4561 SrcItem *pItem = &pSrc->a[i+iFrom]; in flattenSubquery()
4569 pSrc->a[iFrom].fg.jointype &= JT_LTORJ; in flattenSubquery()
4570 pSrc->a[iFrom].fg.jointype |= jointype | ltorj; in flattenSubquery()
4645 recomputeColumnsUsed(pParent, &pSrc->a[i+iFrom]); in flattenSubquery()
4909 if( ALWAYS(p->pSrc!=0) in propagateConstants()
4910 && p->pSrc->nSrc>0 in propagateConstants()
4911 && (p->pSrc->a[0].fg.jointype & JT_LTORJ)!=0 in propagateConstants()
5046 SrcItem *pSrc /* The subquery term of the outer FROM clause */ in pushDownWhereTerms() argument
5052 if( pSrc->fg.jointype & (JT_LTORJ|JT_RIGHT) ) return 0; in pushDownWhereTerms()
5086 nChng += pushDownWhereTerms(pParse, pSubq, pWhere->pRight, pSrc); in pushDownWhereTerms()
5104 if( sqlite3ExprIsTableConstraint(pWhere, pSrc) ){ in pushDownWhereTerms()
5112 x.iTable = pSrc->iCursor; in pushDownWhereTerms()
5113 x.iNewTable = pSrc->iCursor; in pushDownWhereTerms()
5217 || p->pSrc->nSrc!=1 in isSimpleCount()
5218 || p->pSrc->a[0].pSelect in isSimpleCount()
5224 pTab = p->pSrc->a[0].pTab; in isSimpleCount()
5328 p->pSrc = pNewSrc; in convertCompoundSelectToSubquery()
5538 SrcList *pSrc = pRecTerm->pSrc; in resolveFromTermToCte() local
5540 for(i=0; i<pSrc->nSrc; i++){ in resolveFromTermToCte()
5541 SrcItem *pItem = &pSrc->a[i]; in resolveFromTermToCte()
5738 assert( p->pSrc!=0 ); in selectExpander()
5746 pTabList = p->pSrc; in selectExpander()
6142 pTabList = p->pSrc; in selectAddSubqueryTypeInfo()
6555 if( p->pSrc->nSrc!=1 ) return 0; /* One table in FROM */ in countOfViewOptimization()
6556 pSub = p->pSrc->a[0].pSelect; in countOfViewOptimization()
6572 pSub = p->pSrc->a[0].pSelect; in countOfViewOptimization()
6573 p->pSrc->a[0].pSelect = 0; in countOfViewOptimization()
6574 sqlite3SrcListDelete(db, p->pSrc); in countOfViewOptimization()
6575 p->pSrc = sqlite3DbMallocZero(pParse->db, sizeof(*p->pSrc)); in countOfViewOptimization()
6614 static int sameSrcAlias(SrcItem *p0, SrcList *pSrc){ in sameSrcAlias() argument
6616 for(i=0; i<pSrc->nSrc; i++){ in sameSrcAlias()
6617 SrcItem *p1 = &pSrc->a[i]; in sameSrcAlias()
6624 && sameSrcAlias(p0, p1->pSelect->pSrc) in sameSrcAlias()
6735 SrcItem *p0 = &p->pSrc->a[0]; in sqlite3Select()
6736 if( sameSrcAlias(p0, p->pSrc) ){ in sqlite3Select()
6767 pTabList = p->pSrc; in sqlite3Select()
6889 pTabList = p->pSrc; in sqlite3Select()
6940 pTabList = p->pSrc; in sqlite3Select()
7747 if( !p->pSrc->a[0].fg.notIndexed ){ in sqlite3Select()