Lines Matching refs:pSub

88155   Mem *pSub,       /* Storage for keeping track of subprogram nesting */
88177 if( pSub!=0 ){
88178 if( pSub->flags&MEM_Blob ){
88181 nSub = pSub->n/sizeof(Vdbe*);
88182 apSub = (SubProgram **)pSub->z;
88219 if( pSub!=0 && aOp[i].p4type==P4_SUBPROGRAM ){
88226 p->rc = sqlite3VdbeMemGrow(pSub, nByte, nSub!=0);
88231 apSub = (SubProgram **)pSub->z;
88233 MemSetTypeFlag(pSub, MEM_Blob);
88234 pSub->n = nSub*sizeof(SubProgram*);
88300 Mem *pSub = 0; /* Memory cell hold array of subprogs */ local
88332 pSub = &p->aMem[9];
88334 pSub = 0;
88338 rc = sqlite3VdbeNextOpcode(p, pSub, p->explain==2, &p->pc, &i, &aOp);
89619 SubProgram *pSub, *pNext; local
89626 for(pSub=p->pProgram; pSub; pSub=pNext){
89627 pNext = pSub->pNext;
89628 vdbeFreeOpArray(db, pSub->aOp, pSub->nOp);
89629 sqlite3DbFree(db, pSub);
109929 Select *pSub;
109932 pSub = p->pSrc->a[0].u4.pSubq->pSelect;
109933 assert( pSub!=0 );
109935 assert( pSub->pPrior && pSub->pOrderBy==0 );
109936 pSub->pOrderBy = p->pOrderBy;
110056 Select *pSub;
110058 pSub = p->pSrc->a[0].u4.pSubq->pSelect;
110059 assert( pSub!=0 );
110060 p->pOrderBy = pSub->pOrderBy;
110061 pSub->pOrderBy = 0;
149227 Select *pSub; /* The inner query or "subquery" */
149251 pSub = pSubitem->u4.pSubq->pSelect;
149252 assert( pSub!=0 );
149255 if( p->pWin || pSub->pWin ) return 0; /* Restriction (25) */
149258 pSubSrc = pSub->pSrc;
149265 if( pSub->pLimit && p->pLimit ) return 0; /* Restriction (13) */
149266 if( pSub->pLimit && pSub->pLimit->pRight ) return 0; /* Restriction (14) */
149267 if( (p->selFlags & SF_Compound)!=0 && pSub->pLimit ){
149271 if( pSub->selFlags & SF_Distinct ) return 0; /* Restriction (4) */
149272 if( pSub->pLimit && (pSrc->nSrc>1 || isAgg) ){
149275 if( p->pOrderBy && pSub->pOrderBy ){
149278 if( isAgg && pSub->pOrderBy ) return 0; /* Restriction (16) */
149279 if( pSub->pLimit && p->pWhere ) return 0; /* Restriction (19) */
149280 if( pSub->pLimit && (p->selFlags & SF_Distinct)!=0 ){
149283 if( pSub->selFlags & (SF_Recursive) ){
149326 if( pSub->pPrior ){
149328 if( pSub->pOrderBy ){
149334 for(pSub1=pSub; pSub1; pSub1=pSub1->pPrior){
149337 assert( pSub->pSrc!=0 );
149338 assert( (pSub->selFlags & SF_Recursive)==0 );
149339 assert( pSub->pEList->nExpr==pSub1->pEList->nExpr );
149369 if( compoundHasDifferentAffinities(pSub) ) return 0;
149381 pSub->selId, pSub, iFrom));
149437 for(pSub=pSub->pPrior; pSub; pSub=pSub->pPrior){
149509 pSub = pSub1;
149510 for(pParent=p; pParent; pParent=pParent->pPrior, pSub=pSub->pPrior){
149514 assert( pSub!=0 );
149515 pSubSrc = pSub->pSrc; /* FROM clause of subquery */
149574 if( pSub->pOrderBy && (pParent->selFlags & SF_NoopOrderBy)==0 ){
149585 ExprList *pOrderBy = pSub->pOrderBy;
149591 pSub->pOrderBy = 0;
149593 pWhere = pSub->pWhere;
149594 pSub->pWhere = 0;
149612 x.pEList = pSub->pEList;
149613 x.pCList = findLeftmostExprlist(pSub);
149619 pParent->selFlags |= pSub->selFlags & SF_Compound;
149620 assert( (pSub->selFlags & SF_Distinct)==0 ); /* restriction (17b) */
149628 if( pSub->pLimit ){
149629 pParent->pLimit = pSub->pLimit;
149630 pSub->pLimit = 0;
150229 Select *pSub; /* The subquery to be simplified */
150243 pSub = pItem->u4.pSubq->pSelect;
150244 assert( pSub->pEList->nExpr==pTab->nCol );
150245 for(pX=pSub; pX; pX=pX->pPrior){
150265 if( pSub->pOrderBy ){
150266 ExprList *pList = pSub->pOrderBy;
150279 for(pX=pSub; pX; pX=pX->pPrior) {
152059 Select *pSub, *pPrior;
152080 pSub = pFrom->u4.pSubq->pSelect;
152081 if( pSub->pPrior==0 ) return 0; /* Must be a compound */
152082 if( pSub->selFlags & SF_CopyCte ) return 0; /* Not a CTE */
152084 if( pSub->op!=TK_ALL && pSub->pPrior ) return 0; /* Must be UNION ALL */
152085 if( pSub->pWhere ) return 0; /* No WHERE clause */
152086 if( pSub->pLimit ) return 0; /* No LIMIT clause */
152087 if( pSub->selFlags & (SF_Aggregate|SF_Distinct) ){
152088 testcase( pSub->selFlags & SF_Aggregate );
152089 testcase( pSub->selFlags & SF_Distinct );
152092 assert( pSub->pHaving==0 ); /* Due to the previous */
152093 pSub = pSub->pPrior; /* Repeat over compound */
152094 }while( pSub );
152101 pSub = sqlite3SubqueryDetach(db, pFrom);
152104 while( pSub ){
152106 pPrior = pSub->pPrior;
152107 pSub->pPrior = 0;
152108 pSub->pNext = 0;
152109 pSub->selFlags |= SF_Aggregate;
152110 pSub->selFlags &= ~(u32)SF_Compound;
152111 pSub->nSelectRow = 0;
152112 sqlite3ParserAddCleanup(pParse, sqlite3ExprListDeleteGeneric, pSub->pEList);
152114 pSub->pEList = sqlite3ExprListAppend(pParse, 0, pTerm);
152116 sqlite3PExprAddSelect(pParse, pTerm, pSub);
152122 pSub = pPrior;
152402 Select *pSub = pItem->fg.isSubquery ? pItem->u4.pSubq->pSelect : 0;
152463 if( pSub==0 ) continue;
152467 if( pTab->nCol!=pSub->pEList->nExpr ){
152469 pTab->nCol, pTab->zName, pSub->pEList->nExpr);
152488 if( (pSub->selFlags & SF_Aggregate)!=0 ) continue;
152489 assert( pSub->pGroupBy==0 );
152517 if( pSub->pOrderBy!=0
152519 && pSub->pLimit==0 /* Condition (1) */
152520 && (pSub->selFlags & (SF_OrderByReqd|SF_Recursive))==0 /* (2) and (6) */
152527 pSub->pOrderBy);
152528 pSub->pOrderBy = 0;
152549 if( pSub->pOrderBy!=0
152629 Select *pSub;
152671 pSub = pSubq->pSelect;
152692 && pushDownWhereTerms(pParse, pSub, p->pWhere, pTabList, i)
152697 ("After WHERE-clause push-down into subquery %d:\n", pSub->selId));
152701 assert( pSubq->pSelect && (pSub->selFlags & SF_PushDown)!=0 );
152717 pSub->selId));
152740 sqlite3Select(pParse, pSub, &dest);
152741 pItem->pSTab->nRowLogEst = pSub->nSelectRow;
152759 pSub->nSelectRow = pCteUse->nRowEst;
152772 pSub->nSelectRow = pPriorSubq->pSelect->nSelectRow;
152799 sqlite3Select(pParse, pSub, &dest);
152800 pItem->pSTab->nRowLogEst = pSub->nSelectRow;
152812 pCteUse->nRowEst = pSub->nSelectRow;
172892 ExprList *pSub;
172947 if( p->pSub ){
172949 for(i=0; i<p->pSub->nExpr; i++){
172950 if( 0==sqlite3ExprCompare(0, p->pSub->a[i].pExpr, pExpr, -1) ){
172959 p->pSub = sqlite3ExprListAppend(pParse, p->pSub, pDup);
172961 if( p->pSub ){
172970 pExpr->iColumn = (iCol<0 ? p->pSub->nExpr-1: iCol);
173027 sRewrite.pSub = *ppSub;
173039 *ppSub = sRewrite.pSub;
173064 Expr *pSub;
173065 pSub = sqlite3ExprSkipCollateAndLikely(pDup);
173066 if( sqlite3ExprIsInteger(pSub, &iDummy, 0) ){
173067 pSub->op = TK_NULL;
173068 pSub->flags &= ~(EP_IntValue|EP_IsTrue|EP_IsFalse);
173069 pSub->u.zToken = 0;
173121 Select *pSub = 0; /* The subquery */
173224 pSub = sqlite3SelectNew(
173227 TREETRACE(0x40,pParse,pSub,
173231 assert( pSub!=0 || p->pSrc==0 ); /* Due to db->mallocFailed test inside
173235 sqlite3SelectDelete(db, pSub);
173236 }else if( sqlite3SrcItemAttachSubquery(pParse, &p->pSrc->a[0], pSub, 0) ){
173240 pSub->selFlags |= SF_Expanded|SF_OrderByReqd;
173241 pTab2 = sqlite3ResultSetOfSelect(pParse, pSub, SQLITE_AFF_NONE);
173242 pSub->selFlags |= (selFlags & SF_Aggregate);
173257 sqlite3WalkSelect(&w, pSub);
242659 static void fts5ExprAddChildren(Fts5ExprNode *p, Fts5ExprNode *pSub){
242661 if( p->eType!=FTS5_NOT && pSub->eType==p->eType ){
242662 int nByte = sizeof(Fts5ExprNode*) * pSub->nChild;
242663 memcpy(&p->apChild[p->nChild], pSub->apChild, nByte);
242664 p->nChild += pSub->nChild;
242665 sqlite3_free(pSub);
242667 p->apChild[p->nChild++] = pSub;