Lines Matching refs:pPrior
81 Select *pPrior = p->pPrior; in clearSelect() local
100 p = pPrior; in clearSelect()
159 pNew->pPrior = 0; in sqlite3SelectNew()
2093 while( pSelect->pPrior ) pSelect = pSelect->pPrior; in sqlite3GenerateColumnNames()
2346 while( pSelect->pPrior ) pSelect = pSelect->pPrior; in sqlite3ResultSetOfSelect()
2463 if( p->pPrior ){ in multiSelectCollSeq()
2464 pRet = multiSelectCollSeq(pParse, p->pPrior, iCol); in multiSelectCollSeq()
2645 for(pFirstRec=p; ALWAYS(pFirstRec!=0); pFirstRec=pFirstRec->pPrior){ in generateWithRecursiveQuery()
2651 if( (pFirstRec->pPrior->selFlags & SF_Recursive)==0 ) break; in generateWithRecursiveQuery()
2655 pSetup = pFirstRec->pPrior; in generateWithRecursiveQuery()
2688 pFirstRec->pPrior = 0; in generateWithRecursiveQuery()
2691 assert( pFirstRec->pPrior==0 ); in generateWithRecursiveQuery()
2692 pFirstRec->pPrior = pSetup; in generateWithRecursiveQuery()
2740 assert( p->op==TK_ALL || (p->op==TK_SELECT && p->pPrior==0) ); in multiSelectValues()
2745 if( p->pPrior==0 ) break; in multiSelectValues()
2746 assert( p->pPrior->pNext==p ); in multiSelectValues()
2747 p = p->pPrior; in multiSelectValues()
2767 while( p && (p->selFlags & SF_Recursive)!=0 ){ p = p->pPrior; } in hasAnchor()
2808 Select *pPrior; /* Another SELECT immediately to our left */ in multiSelect() local
2817 assert( p && p->pPrior ); /* Calling function guarantees this much */ in multiSelect()
2821 pPrior = p->pPrior; in multiSelect()
2823 assert( pPrior->pOrderBy==0 ); in multiSelect()
2824 assert( pPrior->pLimit==0 ); in multiSelect()
2848 assert( p->pEList && pPrior->pEList ); in multiSelect()
2849 assert( p->pEList->nExpr==pPrior->pEList->nExpr ); in multiSelect()
2864 if( pPrior->pPrior==0 ){ in multiSelect()
2876 assert( !pPrior->pLimit ); in multiSelect()
2877 pPrior->iLimit = p->iLimit; in multiSelect()
2878 pPrior->iOffset = p->iOffset; in multiSelect()
2879 pPrior->pLimit = p->pLimit; in multiSelect()
2881 rc = sqlite3Select(pParse, pPrior, &dest); in multiSelect()
2882 pPrior->pLimit = 0; in multiSelect()
2886 p->pPrior = 0; in multiSelect()
2887 p->iLimit = pPrior->iLimit; in multiSelect()
2888 p->iOffset = pPrior->iOffset; in multiSelect()
2901 pDelete = p->pPrior; in multiSelect()
2902 p->pPrior = pPrior; in multiSelect()
2903 p->nSelectRow = sqlite3LogEstAdd(p->nSelectRow, pPrior->nSelectRow); in multiSelect()
2949 assert( !pPrior->pOrderBy ); in multiSelect()
2952 rc = sqlite3Select(pParse, pPrior, &uniondest); in multiSelect()
2965 p->pPrior = 0; in multiSelect()
2975 pDelete = p->pPrior; in multiSelect()
2976 p->pPrior = pPrior; in multiSelect()
2979 p->nSelectRow = sqlite3LogEstAdd(p->nSelectRow, pPrior->nSelectRow); in multiSelect()
3033 rc = sqlite3Select(pParse, pPrior, &intersectdest); in multiSelect()
3043 p->pPrior = 0; in multiSelect()
3052 pDelete = p->pPrior; in multiSelect()
3053 p->pPrior = pPrior; in multiSelect()
3054 if( p->nSelectRow>pPrior->nSelectRow ){ in multiSelect()
3055 p->nSelectRow = pPrior->nSelectRow; in multiSelect()
3124 for(pLoop=p; pLoop; pLoop=pLoop->pPrior){ in multiSelect()
3402 Select *pPrior; /* Another SELECT immediately to our left */ in multiSelectOrderBy() local
3450 assert( p->pPrior->pOrderBy==0 ); in multiSelectOrderBy()
3528 for(pSplit=p; pSplit->pPrior!=0 && pSplit->op==op; pSplit=pSplit->pPrior){ in multiSelectOrderBy()
3530 assert( pSplit->pPrior->pNext==pSplit ); in multiSelectOrderBy()
3537 for(i=2; i<nSelect; i+=2){ pSplit = pSplit->pPrior; } in multiSelectOrderBy()
3539 pPrior = pSplit->pPrior; in multiSelectOrderBy()
3540 assert( pPrior!=0 ); in multiSelectOrderBy()
3541 pSplit->pPrior = 0; in multiSelectOrderBy()
3542 pPrior->pNext = 0; in multiSelectOrderBy()
3545 pPrior->pOrderBy = sqlite3ExprListDup(pParse->db, pOrderBy, 0); in multiSelectOrderBy()
3547 sqlite3ResolveOrderGroupBy(pParse, pPrior, pPrior->pOrderBy, "ORDER"); in multiSelectOrderBy()
3578 pPrior->iLimit = regLimitA; in multiSelectOrderBy()
3580 sqlite3Select(pParse, pPrior, &destA); in multiSelectOrderBy()
3630 p->nSelectRow = sqlite3LogEstAdd(p->nSelectRow, pPrior->nSelectRow); in multiSelectOrderBy()
3638 if( p->nSelectRow > pPrior->nSelectRow ) p->nSelectRow = pPrior->nSelectRow; in multiSelectOrderBy()
3698 if( pSplit->pPrior ){ in multiSelectOrderBy()
3700 (void(*)(sqlite3*,void*))sqlite3SelectDelete, pSplit->pPrior); in multiSelectOrderBy()
3702 pSplit->pPrior = pPrior; in multiSelectOrderBy()
3703 pPrior->pNext = pSplit; in multiSelectOrderBy()
3704 sqlite3ExprListDelete(db, pPrior->pOrderBy); in multiSelectOrderBy()
3705 pPrior->pOrderBy = 0; in multiSelectOrderBy()
3908 }while( doPrior && (p = p->pPrior)!=0 ); in substSelect()
3974 for(p=pItem->pSelect; p; p=p->pPrior){ in srclistRenumberCursors()
4047 while( pSel->pPrior ){ in findLeftmostExprlist()
4048 pSel = pSel->pPrior; in findLeftmostExprlist()
4251 assert( p->pPrior==0 ); in flattenSubquery()
4332 if( pSub->pPrior ){ in flattenSubquery()
4340 for(pSub1=pSub; pSub1; pSub1=pSub1->pPrior){ in flattenSubquery()
4347 || (pSub1->pPrior && pSub1->op!=TK_ALL) /* (17a) */ in flattenSubquery()
4379 for(pSub1=pSub->pPrior; pSub1; pSub1=pSub1->pPrior){ in flattenSubquery()
4451 for(pSub=pSub->pPrior; pSub; pSub=pSub->pPrior){ in flattenSubquery()
4455 Select *pPrior = p->pPrior; in flattenSubquery() local
4459 p->pPrior = 0; in flattenSubquery()
4467 p->pPrior = pPrior; in flattenSubquery()
4473 pNew->pPrior = pPrior; in flattenSubquery()
4474 if( pPrior ) pPrior->pNext = pNew; in flattenSubquery()
4476 p->pPrior = pNew; in flattenSubquery()
4523 for(pParent=p; pParent; pParent=pParent->pPrior, pSub=pSub->pPrior){ in flattenSubquery()
4960 assert( pSubq->pPrior==0 ); in pushDownWindowCheck()
5055 if( pSubq->pPrior ){ in pushDownWhereTerms()
5057 for(pSel=pSubq; pSel; pSel=pSel->pPrior){ in pushDownWhereTerms()
5076 for(pX=pSubq; pX; pX=pX->pPrior){ in pushDownWhereTerms()
5131 pSubq = pSubq->pPrior; in pushDownWhereTerms()
5300 if( p->pPrior==0 ) return WRC_Continue; in convertCompoundSelectToSubquery()
5302 for(pX=p; pX && (pX->op==TK_ALL || pX->op==TK_SELECT); pX=pX->pPrior){} in convertCompoundSelectToSubquery()
5335 p->pPrior = 0; in convertCompoundSelectToSubquery()
5344 assert( pNew->pPrior!=0 ); in convertCompoundSelectToSubquery()
5345 pNew->pPrior->pNext = pNew; in convertCompoundSelectToSubquery()
5539 assert( pRecTerm->pPrior!=0 ); in resolveFromTermToCte()
5561 pRecTerm = pRecTerm->pPrior; in resolveFromTermToCte()
5589 for(pLeft=pSel; pLeft->pPrior; pLeft=pLeft->pPrior); in resolveFromTermToCte()
5630 if( OK_IF_ALWAYS_TRUE(pParse->pWith) && p->pPrior==0 ){ in sqlite3SelectPopWith()
5660 while( pSel->pPrior ){ pSel = pSel->pPrior; } in sqlite3ExpandSubquery()
6150 while( pSel->pPrior ) pSel = pSel->pPrior; in selectAddSubqueryTypeInfo()
6541 Select *pSub, *pPrior; in countOfViewOptimization() local
6558 if( pSub->pPrior==0 ) return 0; /* Must be a compound ry */ in countOfViewOptimization()
6560 if( pSub->op!=TK_ALL && pSub->pPrior ) return 0; /* Must be UNION ALL */ in countOfViewOptimization()
6564 pSub = pSub->pPrior; /* Repeat over compound */ in countOfViewOptimization()
6578 pPrior = pSub->pPrior; in countOfViewOptimization()
6579 pSub->pPrior = 0; in countOfViewOptimization()
6585 pTerm = pPrior ? sqlite3ExprDup(db, pCount, 0) : pCount; in countOfViewOptimization()
6594 pSub = pPrior; in countOfViewOptimization()
6776 for(i=0; !p->pPrior && i<pTabList->nSrc; i++){ in sqlite3Select()
6901 if( p->pPrior ){ in sqlite3Select()
6950 SrcItem *pPrior; in sqlite3Select() local
7064 }else if( (pPrior = isSelfJoinView(pTabList, pItem))!=0 ){ in sqlite3Select()
7067 if( pPrior->addrFillSub ){ in sqlite3Select()
7068 sqlite3VdbeAddOp2(v, OP_Gosub, pPrior->regReturn, pPrior->addrFillSub); in sqlite3Select()
7070 sqlite3VdbeAddOp2(v, OP_OpenDup, pItem->iCursor, pPrior->iCursor); in sqlite3Select()
7071 pSub->nSelectRow = pPrior->pSelect->nSelectRow; in sqlite3Select()