Lines Matching refs:pSelect

18419       Select *pSelect;     /* View definition */  member
18876 Select *pSelect; /* SELECT statement that this AggInfo supports */ member
18995 Select *pSelect; /* EP_xIsSelect and op = IN, EXISTS, SELECT */ member
19268 Select *pSelect; /* A SELECT statement used in place of a table name */ member
20071 Select *pSelect; /* SELECT statement or RHS of INSERT INTO SELECT ... */ member
20296 Select *pSelect; /* HAVING to WHERE clause ctx */ member
20361 Select *pSelect; /* The definition of this CTE */ member
20861 SQLITE_PRIVATE void sqlite3GenerateColumnNames(Parse *pParse, Select *pSelect);
31997 Select *pSel = pItem->pSelect; in sqlite3_str_vappendf()
32759 sqlite3TreeViewSelect(pView, pCte->pSelect, 0); in sqlite3TreeViewWith()
32817 if( pItem->pSelect ) n++; in sqlite3TreeViewSrcList()
32823 if( pItem->pSelect ){ in sqlite3TreeViewSrcList()
32829 assert( (int)pItem->fg.isNestedFrom == IsNestedFrom(pItem->pSelect) ); in sqlite3TreeViewSrcList()
32830 sqlite3TreeViewSelect(pView, pItem->pSelect, (--n)>0); in sqlite3TreeViewSrcList()
33323 sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); in sqlite3TreeViewExpr()
33329 sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); in sqlite3TreeViewExpr()
33346 sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); in sqlite3TreeViewExpr()
33429 sqlite3TreeViewSelect(pView, pExpr->pLeft->x.pSelect, 0); in sqlite3TreeViewExpr()
33677 const Select *pSelect, in sqlite3TreeViewInsert() argument
33698 if( pSelect ) n++; in sqlite3TreeViewInsert()
33716 if( pSelect ){ in sqlite3TreeViewInsert()
33719 sqlite3TreeViewSelect(pView, pSelect, 0); in sqlite3TreeViewInsert()
106544 if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort;
106636 if( pItem->pSelect && sqlite3WalkSelect(pWalker, pItem->pSelect) ){
106689 SQLITE_PRIVATE int sqlite3WalkerDepthIncrease(Walker *pWalker, Select *pSelect){
106690 UNUSED_PARAMETER(pSelect);
106694 SQLITE_PRIVATE void sqlite3WalkerDepthDecrease(Walker *pWalker, Select *pSelect){
106695 UNUSED_PARAMETER(pSelect);
107076 assert( (int)pItem->fg.isNestedFrom == IsNestedFrom(pItem->pSelect) );
107085 assert( pItem->pSelect!=0 );
107086 pEList = pItem->pSelect->pEList;
107401 assert( ExprUseXSelect(pExpr)==0 || pExpr->x.pSelect==0 );
108084 assert( pExpr->x.pSelect );
108088 sqlite3WalkSelect(pWalker, pExpr->x.pSelect);
108093 pExpr->x.pSelect->selFlags |= SF_Correlated;
108222 Select *pSelect, /* The SELECT statement with the ORDER BY clause */
108233 pEList = pSelect->pEList;
108239 nc.pSrcList = pSelect->pSrc;
108297 Select *pSelect /* The SELECT statement containing the ORDER BY */
108305 pOrderBy = pSelect->pOrderBy;
108315 pSelect->pNext = 0;
108316 while( pSelect->pPrior ){
108317 pSelect->pPrior->pNext = pSelect;
108318 pSelect = pSelect->pPrior;
108320 while( pSelect && moreToDo ){
108323 pEList = pSelect->pEList;
108353 iCol = resolveOrderByTermToExprList(pParse, pSelect, pDup);
108355 resolveOrderByTermToExprList(pParse, pSelect, pE);
108386 pSelect = pSelect->pNext;
108410 Select *pSelect, /* The SELECT statement containing the clause */
108424 pEList = pSelect->pEList;
108455 static void windowRemoveExprFromSelect(Select *pSelect, Expr *pExpr){
108456 if( pSelect->pWin ){
108460 sWalker.u.pSelect = pSelect;
108488 Select *pSelect, /* The SELECT statement holding pOrderBy */
108499 nResult = pSelect->pEList->nExpr;
108506 iCol = resolveAsName(pParse, pSelect->pEList, pE2);
108533 for(j=0; j<pSelect->pEList->nExpr; j++){
108534 if( sqlite3ExprCompare(0, pE, pSelect->pEList->a[j].pExpr, -1)==0 ){
108538 windowRemoveExprFromSelect(pSelect, pE);
108543 return sqlite3ResolveOrderGroupBy(pParse, pSelect, pOrderBy, zType);
108607 Select *pSub = p->pSrc->a[0].pSelect;
108619 assert( pItem->zName!=0 || pItem->pSelect!=0 );/* Test of tag-20240424-1*/
108620 if( pItem->pSelect && (pItem->pSelect->selFlags & SF_Resolved)==0 ){
108625 sqlite3ResolveSelectNames(pParse, pItem->pSelect, pOuterNC);
108727 Select *pSub = p->pSrc->a[0].pSelect;
109067 assert( pExpr->x.pSelect!=0 );
109068 assert( pExpr->x.pSelect->pEList!=0 );
109069 assert( pExpr->x.pSelect->pEList->a[0].pExpr!=0 );
109070 return sqlite3ExprAffinity(pExpr->x.pSelect->pEList->a[0].pExpr);
109082 assert( pExpr->iTable==pExpr->pLeft->x.pSelect->pEList->nExpr );
109084 pExpr->pLeft->x.pSelect->pEList->a[pExpr->iColumn].pExpr
109379 aff = sqlite3CompareAffinity(pExpr->x.pSelect->pEList->a[0].pExpr, aff);
109522 return pExpr->x.pSelect->pEList->nExpr;
109549 return pVector->x.pSelect->pEList->a[i].pExpr;
109680 *ppExpr = pVector->x.pSelect->pEList->a[iField].pExpr;
109833 static void heightOfSelect(const Select *pSelect, int *pnHeight){
109835 for(p=pSelect; p; p=p->pPrior){
109861 heightOfSelect(p->x.pSelect, &nHeight);
110013 assert( pRoot->x.pSelect==0 );
110067 SQLITE_PRIVATE void sqlite3PExprAddSelect(Parse *pParse, Expr *pExpr, Select *pSelect){
110069 pExpr->x.pSelect = pSelect;
110074 sqlite3SelectDelete(pParse->db, pSelect);
110391 assert( !ExprUseXSelect(p) || p->x.pSelect==0 );
110403 sqlite3SelectDelete(db, p->x.pSelect);
110697 pNew->x.pSelect = sqlite3SelectDup(db, p->x.pSelect, dupFlags);
110756 pRet->a[i].pSelect = sqlite3SelectDup(db, p->a[i].pSelect, 0);
110778 Select *pSelect = pWalker->u.pSelect;
110783 sqlite3WindowLink(pSelect, pWin);
110788 return p==pWalker->u.pSelect ? WRC_Continue : WRC_Prune;
110796 w.u.pSelect = p;
110914 pNewItem->pSelect = sqlite3SelectDup(db, pOldItem->pSelect, flags);
111581 static int exprSelectWalkTableConstant(Walker *pWalker, Select *pSelect){
111582 assert( pSelect!=0 );
111584 if( (pSelect->selFlags & SF_Correlated)!=0 ){
111971 p = pX->x.pSelect;
111984 if( pSrc->a[0].pSelect ) return 0; /* FROM is not a subquery or view */
112146 ExprList *pEList = pX->x.pSelect->pEList;
112349 Select *pSelect = ExprUseXSelect(pExpr) ? pExpr->x.pSelect : 0;
112359 if( pSelect ){
112360 zRet[i] = sqlite3CompareAffinity(pSelect->pEList->a[i].pExpr, a);
112400 sqlite3SubselectError(pParse, pExpr->x.pSelect->pEList->nExpr, 1);
112465 pExpr->x.pSelect->selId));
112498 VdbeComment((v, "Result of SELECT %u", pExpr->x.pSelect->selId));
112511 Select *pSelect = pExpr->x.pSelect;
112512 ExprList *pEList = pSelect->pEList;
112515 addrOnce?"":"CORRELATED ", pSelect->selId
112526 pSelect->iLimit = 0;
112527 testcase( pSelect->selFlags & SF_Distinct );
112529 pCopy = sqlite3SelectDup(pParse->db, pSelect, 0);
112649 pSel = pExpr->x.pSelect;
112762 if( nVector!=pIn->x.pSelect->pEList->nExpr ){
112763 sqlite3SubselectError(pParse, pIn->x.pSelect->pEList->nExpr, nVector);
114039 && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1
115560 static int selectRefEnter(Walker *pWalker, Select *pSelect){
115562 SrcList *pSrc = pSelect->pSrc;
115580 static void selectRefLeave(Walker *pWalker, Select *pSelect){
115582 SrcList *pSrc = pSelect->pSrc;
116970 static void renameWalkWith(Walker *pWalker, Select *pSelect){
116971 With *pWith = pSelect->pWith;
116977 if( (pWith->a[0].pSelect->selFlags & SF_Expanded)==0 ){
116987 Select *p = pWith->a[i].pSelect;
117474 if( pStep->pSelect ){
117475 sqlite3SelectPrep(pParse, pStep->pSelect, &sNC);
117511 if( p->pSelect ){
117512 sqlite3SelectPrep(pParse, p->pSelect, 0);
117568 sqlite3WalkSelect(pWalker, pStep->pSelect);
117581 sqlite3WalkSelect(pWalker, pStep->pFrom->a[i].pSelect);
117688 Select *pSelect = sParse.pNewTable->u.view.pSelect;
117689 pSelect->selFlags &= ~SF_View;
117691 sqlite3SelectPrep(&sParse, pSelect, 0);
117694 sqlite3WalkSelect(&sWalker, pSelect);
117813 static int renameTableSelectCb(Walker *pWalker, Select *pSelect){
117816 SrcList *pSrc = pSelect->pSrc;
117817 if( pSelect->selFlags & (SF_View|SF_CopyCte) ){
117818 testcase( pSelect->selFlags & SF_View );
117819 testcase( pSelect->selFlags & SF_CopyCte );
117832 renameWalkWith(pWalker, pSelect);
117901 Select *pSelect = pTab->u.view.pSelect;
117906 assert( pSelect->selFlags & SF_View );
117907 pSelect->selFlags &= ~SF_View;
117908 sqlite3SelectPrep(&sParse, pTab->u.view.pSelect, &sNC);
117912 sqlite3WalkSelect(&sWalker, pTab->u.view.pSelect);
118079 Select *pSelect = sParse.pNewTable->u.view.pSelect;
118080 pSelect->selFlags &= ~SF_View;
118082 sqlite3SelectPrep(&sParse, pSelect, 0);
118085 sqlite3WalkSelect(&sWalker, pSelect);
118188 sqlite3SelectPrep(&sParse, sParse.pNewTable->u.view.pSelect, &sNC);
120948 static int fixSelectCb(Walker *p, Select *pSelect){
120954 SrcList *pList = pSelect->pSrc;
120981 if( pSelect->pWith ){
120982 for(i=0; i<pSelect->pWith->nCte; i++){
120983 if( sqlite3WalkSelect(p, pSelect->pWith->a[i].pSelect) ){
121049 Select *pSelect /* The SELECT statement to be fixed to one database */
121051 return sqlite3WalkSelect(&pFix->w, pSelect);
121067 if( sqlite3WalkSelect(&pFix->w, pStep->pSelect)
122222 sqlite3SelectDelete(db, pTable->u.view.pSelect);
123997 Select *pSelect /* Select from a "CREATE ... AS SELECT" */
124004 if( pEnd==0 && pSelect==0 ){
124010 if( pSelect==0 && sqlite3ShadowTableName(db, p->zName) ){
124024 if( pSelect || (!IsOrdinaryTable(p) && db->init.newTnum) ){
124190 if( pSelect ){
124215 pSelTab = sqlite3ResultSetOfSelect(pParse, pSelect, SQLITE_AFF_BLOB);
124224 sqlite3Select(pParse, pSelect, &dest);
124240 if( pSelect ){
124328 if( !pSelect && IsOrdinaryTable(p) ){
124348 Select *pSelect, /* A SELECT statement that will become the new view */
124384 if( sqlite3FixSelect(&sFix, pSelect) ) goto create_view_fail;
124391 pSelect->selFlags |= SF_View;
124393 p->u.view.pSelect = pSelect;
124394 pSelect = 0;
124396 p->u.view.pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE);
124422 sqlite3SelectDelete(db, pSelect);
124497 pSel = sqlite3SelectDup(db, pTable->u.view.pSelect, 0);
126282 if( pItem->pSelect ){
126283 sqlite3SrcListAssignCursors(pParse, pItem->pSelect->pSrc);
126304 if( pItem->pSelect ) sqlite3SelectDelete(db, pItem->pSelect);
126364 pItem->pSelect = pSubquery;
126978 pNew->pSelect = pQuery;
126993 sqlite3SelectDelete(db, pCte->pSelect);
127810 Select *pSelect = NULL; /* Complete SELECT tree */
127884 pSelect = sqlite3SelectNew(pParse, pEList, pSelectSrc, pWhere, 0 ,0,
127890 sqlite3PExprAddSelect(pParse, pInClause, pSelect);
132101 sqlite3SelectDelete(dbMem, pStep->pSelect);
132649 Select *pSelect = 0; /* If RESTRICT, "SELECT RAISE(...)" */
132749 pSelect = sqlite3SelectNew(pParse,
132773 pStep->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE);
132786 sqlite3SelectDelete(db, pSelect);
133576 Select *pSelect = 0;
133585 pSelect = sqlite3SelectNew(pParse, pRow, 0, 0, 0, 0, 0, f, 0);
133587 if( pSelect ){
133588 pSelect->op = TK_ALL;
133589 pSelect->pPrior = pLeft;
133590 pLeft = pSelect;
133619 p->pSelect = pLeft;
133651 if( p->pSelect->pEList->nExpr!=pRow->nExpr ){
133652 sqlite3SelectWrongNumTermsError(pParse, p->pSelect);
133668 Select *pSelect, /* A SELECT statement to use as the data source */
133773 Select *pSelect, /* A SELECT statement to use as the data source */
133828 if( pSelect && (pSelect->selFlags & SF_Values)!=0 && pSelect->pPrior==0 ){
133829 pList = pSelect->pEList;
133830 pSelect->pEList = 0;
133831 sqlite3SelectDelete(db, pSelect);
133832 pSelect = 0;
133870 sqlite3TreeViewInsert(pParse->pWith, pTabList, pColumn, pSelect, pList,
133893 sqlite3BeginWriteOperation(pParse, pSelect || pTrigger, iDb);
133906 && pSelect!=0
133908 && xferOptimization(pParse, pTab, pSelect, onError, iDb)
133996 if( pSelect ){
134001 if( pSelect->pSrc->nSrc==1
134002 && pSelect->pSrc->a[0].fg.viaCoroutine
134003 && pSelect->pPrior==0
134005 SrcItem *pItem = &pSelect->pSrc->a[0];
134008 nColumn = pItem->pSelect->pEList->nExpr;
134023 rc = sqlite3Select(pParse, pSelect, &dest);
134030 assert( pSelect->pEList );
134031 nColumn = pSelect->pEList->nExpr;
134210 }else if( pSelect ){
134301 }else if( pSelect ){
134336 assert( pSelect==0 ); /* Otherwise useTempTable is true */
134386 }else if( pSelect ){
134494 }else if( pSelect ){
134532 sqlite3SelectDelete(db, pSelect);
135888 Select *pSelect, /* A SELECT statement to use as the data source */
135908 assert( pSelect!=0 );
135909 if( pParse->pWith || pSelect->pWith ){
135924 assert(pSelect->pSrc); /* allocated even if there is no FROM clause */
135925 if( pSelect->pSrc->nSrc!=1 ){
135928 if( pSelect->pSrc->a[0].pSelect ){
135931 if( pSelect->pWhere ){
135934 if( pSelect->pOrderBy ){
135939 if( pSelect->pGroupBy ){
135942 if( pSelect->pLimit ){
135945 if( pSelect->pPrior ){
135948 if( pSelect->selFlags & SF_Distinct ){
135951 pEList = pSelect->pEList;
135965 pItem = pSelect->pSrc->a;
143226 assert( (int)pItem->fg.isNestedFrom == IsNestedFrom(pItem->pSelect) );
143229 assert( pItem->pSelect!=0 );
143230 pResults = pItem->pSelect->pEList;
143546 Select *pSelect, /* The query being coded */
143549 sqlite3ExprCodeExprList(pParse, pSelect->pEList, pInfo->regResult,
143568 Select *pSelect,
143576 innerLoopLoadRow(pParse, pSelect, pSort->pDeferredRowLoad);
143589 Select *pSelect, /* The whole SELECT statement */
143634 assert( pSelect->iOffset==0 || pSelect->iLimit!=0 );
143635 iLimit = pSelect->iOffset ? pSelect->iOffset+1 : pSelect->iLimit;
143653 regRecord = makeSorterRecord(pParse, pSort, pSelect, regBase, nBase);
143714 regRecord = makeSorterRecord(pParse, pSort, pSelect, regBase, nBase);
144819 pS = pTabList->a[j].pSelect;
144905 pS = pExpr->x.pSelect;
145000 Select *pSelect /* Generate column names for this SELECT statement */
145013 while( pSelect->pPrior ) pSelect = pSelect->pPrior;
145014 TREETRACE(0x80,pParse,pSelect,("generating column names\n"));
145015 pTabList = pSelect->pSrc;
145016 pEList = pSelect->pEList;
145206 Select *pSelect, /* SELECT used to determine types and collations */
145217 assert( pSelect!=0 );
145218 assert( (pSelect->selFlags & SF_Resolved)!=0 );
145219 assert( pTab->nCol==pSelect->pEList->nExpr || pParse->nErr>0 );
145222 while( pSelect->pPrior ) pSelect = pSelect->pPrior;
145223 a = pSelect->pEList->a;
145225 sNC.pSrcList = pSelect->pSrc;
145230 Select *pS2 = pSelect;
145243 if( pCol->affinity>=SQLITE_AFF_TEXT && (pS2->pNext || pS2!=pSelect) ){
145296 SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect, char aff){
145304 sqlite3SelectPrep(pParse, pSelect, 0);
145307 while( pSelect->pPrior ) pSelect = pSelect->pPrior;
145315 sqlite3ColumnsFromExprList(pParse, pSelect->pEList, &pTab->nCol, &pTab->aCol);
145316 sqlite3SubqueryColumnTypes(pParse, pTab, pSelect, aff);
146823 substSelect(pSubst, pExpr->x.pSelect, 1);
146866 substSelect(pSubst, pItem->pSelect, 1);
146893 Select *pSelect, /* The complete SELECT statement */
146903 sqlite3WalkSelect(&w, pSelect);
146937 for(p=pItem->pSelect; p; p=p->pPrior){
147249 pSub = pSubitem->pSelect;
147388 pSub1 = pSubitem->pSelect;
147395 pSubitem->pSelect = 0;
147460 assert( pSubitem->pSelect==0 );
147464 pSubitem->pSelect = pSub1;
148226 assert( pItem->pSelect!=0 );
148227 pSub = pItem->pSelect;
148356 || p->pSrc->a[0].pSelect
148655 pFrom->pSelect = sqlite3SelectDup(db, pCte->pSelect, 0);
148657 pFrom->pSelect->selFlags |= SF_CopyCte;
148658 assert( pFrom->pSelect );
148668 pRecTerm = pSel = pFrom->pSelect;
148782 Select *pSel = pFrom->pSelect;
148911 Select *pSel = pFrom->pSelect;
148944 assert( pFrom->pSelect==0 );
148952 pFrom->pSelect = sqlite3SelectDup(db, pTab->u.view.pSelect, 0);
148968 sqlite3WalkSelect(pWalker, pFrom->pSelect);
149066 assert( (int)pFrom->fg.isNestedFrom == IsNestedFrom(pFrom->pSelect) );
149068 assert( pFrom->pSelect!=0 );
149069 pNestedFrom = pFrom->pSelect->pEList;
149266 static void sqlite3SelectExpand(Parse *pParse, Select *pSelect){
149273 sqlite3WalkSelect(&w, pSelect);
149278 sqlite3WalkSelect(&w, pSelect);
149312 Select *pSel = pFrom->pSelect;
149329 static void sqlite3SelectAddTypeInfo(Parse *pParse, Select *pSelect){
149336 sqlite3WalkSelect(&w, pSelect);
149450 Select *pSelect, /* The SELECT statement being processed */
149455 assert( pSelect!=0 );
149456 assert( pSelect->pGroupBy!=0 );
149459 int mx = pSelect->pGroupBy->nExpr - 1;
149471 TREETRACE(0x20, pParse, pSelect,
149473 sqlite3TreeViewSelect(0, pSelect, 0);
149482 UNUSED_PARAMETER(pSelect);
149891 Select *pS = pWalker->u.pSelect;
149938 sWalker.u.pSelect = p;
149962 assert( pThis->pSelect!=0 );
149963 if( pThis->pSelect->selFlags & SF_PushDown ) return 0;
149967 if( pItem->pSelect==0 ) continue;
149974 pS1 = pItem->pSelect;
149975 if( pItem->pTab->pSchema==0 && pThis->pSelect->selId!=pS1->selId ){
149980 if( pItem->pSelect->selFlags & SF_PushDown ){
150038 pSub = p->pSrc->a[0].pSelect;
150056 pSub = p->pSrc->a[0].pSelect;
150057 p->pSrc->a[0].pSelect = 0;
150105 if( p1->pSelect
150106 && (p1->pSelect->selFlags & SF_NestedFrom)!=0
150107 && sameSrcAlias(p0, p1->pSelect->pSrc)
150172 if( pItem->pSelect!=0 ) return 0; /* (1c-i) */
150322 Select *pSub = pItem->pSelect;
150566 pSub = pItem->pSelect;
150596 assert( pItem->pSelect && (pItem->pSelect->selFlags & SF_PushDown)!=0 );
150660 pSub->nSelectRow = pPrior->pSelect->nSelectRow;
150979 pAggInfo->pSelect = p;
151738 sqlite3SelectDelete(db, pTmp->pSelect);
152148 Select *pSelect, /* The SELECT statement */
152154 sqlite3SelectDelete(db, pSelect);
152158 pTriggerStep->pSelect = pSelect;
152207 Select *pSelect, /* A SELECT statement that supplies values */
152216 assert(pSelect != 0 || db->mallocFailed);
152221 pTriggerStep->pSelect = pSelect;
152222 pSelect = 0;
152224 pTriggerStep->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE);
152238 sqlite3SelectDelete(db, pSelect);
152673 && (pExpr->x.pSelect->selFlags & SF_Correlated)!=0
152689 static int sqlite3ReturningSubqueryCorrelated(Walker *pWalker, Select *pSelect){
152692 assert( pSelect!=0 );
152693 pSrc = pSelect->pSrc;
152697 testcase( pSelect->selFlags & SF_Correlated );
152698 pSelect->selFlags |= SF_Correlated;
152873 sqlite3SelectDup(db, pStep->pSelect, 0),
152891 Select *pSelect = sqlite3SelectDup(db, pStep->pSelect, 0);
152893 sqlite3Select(pParse, pSelect, &sDest);
152894 sqlite3SelectDelete(db, pSelect);
153472 Select *pSelect = 0;
153538 pSelect = sqlite3SelectNew(pParse, pList,
153542 if( pSelect ) pSelect->selFlags |= SF_OrderByReqd;
153545 sqlite3Select(pParse, pSelect, &dest);
153546 sqlite3SelectDelete(db, pSelect);
157260 Select *pSelect; /* The entire SELECT statement containing WHERE */
157911 Select *pSelect; /* Pointer to the SELECT on the RHS */
157915 for(pSelect=pNew->x.pSelect; pSelect; pSelect=pSelect->pPrior){
157923 pOrigRhs = pSelect->pEList;
157926 if( pSelect==pNew->x.pSelect ){
157949 pSelect->pEList = pRhs;
157959 if( pSelect->pOrderBy ){
157967 ExprList *pOrderBy = pSelect->pOrderBy;
158052 if( !ExprUseXSelect(pX) || pX->x.pSelect->pEList->nExpr==1 ){
158903 assert( pWInfo->pSelect!=0 );
158904 assert( pWInfo->pSelect->iOffset>0 );
158905 sqlite3VdbeAddOp2(v, OP_Integer, 0, pWInfo->pSelect->iOffset);
160026 && (pAlt->pExpr->x.pSelect->pEList->nExpr>1)
160174 pRight->regResult + pRight->pSelect->pEList->nExpr-1
161189 mask |= exprSelectUsage(pMaskSet, pSrc->a[i].pSelect);
161336 pTerm->prereqRight = exprSelectUsage(pMaskSet, pExpr->x.pSelect);
161686 && (pExpr->x.pSelect->pPrior==0 || (pExpr->x.pSelect->selFlags & SF_Values))
161688 && pExpr->x.pSelect->pWin==0
162006 mask |= exprSelectUsage(pMaskSet, p->x.pSelect);
162447 inexpr.pRight = pX->x.pSelect->pEList->a[iField].pExpr;
165051 pRhs = pRhs->x.pSelect->pEList->a[i].pExpr;
165708 if( pWInfo->pSelect==0 ){
165732 sqlite3WalkSelect(&w, pWInfo->pSelect);
166080 && (HasRowid(pTab) || pWInfo->pSelect!=0 || sqlite3FaultSim(700))
167297 assert( pWInfo->pSelect!=0 );
167298 assert( pWInfo->pSelect->pEList!=0 );
167300 nCol = sqlite3LogEst((pWInfo->pSelect->pEList->nExpr+59)/30);
167674 assert( pWInfo->pSelect->pOrderBy==0
167675 || pWInfo->nOBSat <= pWInfo->pSelect->pOrderBy->nExpr );
168248 || NEVER(pItem->pSelect==0)
168249 || pItem->pSelect->pOrderBy==0
168350 Select *pSelect, /* The entire SELECT statement */
168436 pWInfo->pSelect = pSelect;
168470 if( ALWAYS(pWInfo->pSelect)
168471 && (pWInfo->pSelect->selFlags & SF_MultiValue)==0
168509 if( pSelect && pSelect->pLimit ){
168510 sqlite3WhereAddLimit(&pWInfo->sWC, pSelect);
170178 static int selectWindowRewriteSelectCb(Walker *pWalker, Select *pSelect){
170181 if( pSave==pSelect ){
170184 p->pSubSelect = pSelect;
170185 sqlite3WalkSelect(pWalker, pSelect);
170429 p->pSrc->a[0].pSelect = pSub;
170738 SQLITE_PRIVATE void sqlite3WindowCodeInit(Parse *pParse, Select *pSelect){
170739 int nEphExpr = pSelect->pSrc->a[0].pSelect->pEList->nExpr;
170740 Window *pMWin = pSelect->pWin;
172596 static Select *attachWithToSelect(Parse *pParse, Select *pSelect, With *pWith){
172597 if( pSelect ){
172598 pSelect->pWith = pWith;
172599 parserDoubleLinkSelect(pParse, pSelect);
172603 return pSelect;
176579 pNew->pSelect = pOld->pSelect;
176580 if( pNew->pSelect && (pNew->pSelect->selFlags & SF_NestedFrom)!=0 ){
176590 pOld->pSelect = 0;
177087 sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy454, pRHS->x.pSelect);
177088 pRHS->x.pSelect = 0;
177126 Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0);
177127 …if( yymsp[0].minor.yy14 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy14);
177129 sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy454, pSelect);
197524 static int langidFromSelect(Fts3Table *p, sqlite3_stmt *pSelect){
197526 if( p->zLanguageid ) iLangid = sqlite3_column_int(pSelect, p->nColumn+1);
197543 sqlite3_stmt *pSelect;
197547 rc = fts3SqlStmt(p, SQL_SELECT_CONTENT_BY_ROWID, &pSelect, &pRowid);
197549 if( SQLITE_ROW==sqlite3_step(pSelect) ){
197551 int iLangid = langidFromSelect(p, pSelect);
197552 i64 iDocid = sqlite3_column_int64(pSelect, 0);
197557 const char *zText = (const char *)sqlite3_column_text(pSelect, i);
197559 aSz[p->nColumn] += sqlite3_column_bytes(pSelect, i);
197563 sqlite3_reset(pSelect);
197569 rc = sqlite3_reset(pSelect);
197571 sqlite3_reset(pSelect);
200738 sqlite3_stmt *pSelect = 0; /* SELECT to read %_segdir entry */
200740 rc = fts3SqlStmt(p, SQL_SELECT_SEGDIR, &pSelect, 0);
200751 sqlite3_bind_int64(pSelect, 1, iAbsLevel+1);
200752 sqlite3_bind_int(pSelect, 2, iIdx);
200753 if( sqlite3_step(pSelect)==SQLITE_ROW ){
200754 iStart = sqlite3_column_int64(pSelect, 1);
200755 iLeafEnd = sqlite3_column_int64(pSelect, 2);
200756 fts3ReadEndBlockField(pSelect, 3, &iEnd, &pWriter->nLeafData);
200761 nRoot = sqlite3_column_bytes(pSelect, 4);
200762 aRoot = sqlite3_column_blob(pSelect, 4);
200764 sqlite3_reset(pSelect);
200768 return sqlite3_reset(pSelect);
200803 sqlite3_reset(pSelect);
200865 rc2 = sqlite3_reset(pSelect);
201024 sqlite3_stmt *pSelect = 0; /* Select statement to read idx values */
201027 rc = fts3SqlStmt(p, SQL_SELECT_INDEXES, &pSelect, 0);
201030 sqlite3_bind_int64(pSelect, 1, iAbsLevel);
201031 while( SQLITE_ROW==sqlite3_step(pSelect) ){
201042 aIdx[nIdx++] = sqlite3_column_int(pSelect, 0);
201044 rc2 = sqlite3_reset(pSelect);
201310 sqlite3_stmt *pSelect = 0;
201314 rc = fts3SqlStmt(p, SQL_SELECT_STAT, &pSelect, 0);
201317 sqlite3_bind_int(pSelect, 1, FTS_STAT_INCRMERGEHINT);
201318 if( SQLITE_ROW==sqlite3_step(pSelect) ){
201319 const char *aHint = sqlite3_column_blob(pSelect, 0);
201320 int nHint = sqlite3_column_bytes(pSelect, 0);
201329 rc2 = sqlite3_reset(pSelect);
203549 sqlite3_stmt *pSelect = 0;
203565 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &nDoc, 0, 0);
203576 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &nDoc, &a, &pEnd);
203638 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &pInfo->nDoc,0,0);
203653 sqlite3_reset(pSelect);
218406 sqlite3_stmt *pSelect; /* Source data */
218938 sqlite3_finalize(pIter->pSelect);
218952 pIter->pSelect = 0;
220444 if( pIter->pSelect==0 && rbuObjIterCacheTableInfo(p, pIter)==SQLITE_OK ){
220543 p->rc = prepareFreeAndCollectError(p->dbRbu,&pIter->pSelect,pz,zSql);
220668 p->rc = prepareFreeAndCollectError(p->dbRbu, &pIter->pSelect, pz,
221424 switch( sqlite3_column_type(p->objiter.pSelect, iCol) ){
221426 int iVal = sqlite3_column_int(p->objiter.pSelect, iCol);
221438 const unsigned char *z = sqlite3_column_text(p->objiter.pSelect, iCol);
221508 && sqlite3_column_type(pIter->pSelect, i)==SQLITE_NULL
221519 pVal = sqlite3_column_value(pIter->pSelect, i);
221535 assertColumnName(pIter->pSelect, pIter->nCol+1,
221538 pVal = sqlite3_column_value(pIter->pSelect, pIter->nCol+1);
221594 pVal = sqlite3_column_value(pIter->pSelect, i);
221603 assertColumnName(pIter->pSelect, pIter->nCol+1, "rbu_rowid");
221604 pVal = sqlite3_column_value(pIter->pSelect, pIter->nCol+1);
221818 int rc = sqlite3_step(pIter->pSelect);
221824 p->rc = sqlite3_reset(pIter->pSelect);
227756 sqlite3_stmt *pSelect, /* SELECT from sessionSelectStmt() */
227777 rc = sqlite3_bind_int64(pSelect, i+1, iVal);
227788 rc = sqlite3_bind_double(pSelect, i+1, rVal);
227798 rc = sqlite3_bind_text(pSelect, i+1, (char *)a, n, SQLITE_TRANSIENT);
227809 rc = sqlite3_bind_blob(pSelect, i+1, a, n, SQLITE_TRANSIENT);
229094 sqlite3_stmt *pSelect; /* SELECT statement */
229361 "main", zTab, p->bRowid, p->nCol, p->azCol, p->abPK, &p->pSelect
229523 sqlite3_stmt *pSelect = p->pSelect;
229529 sqlite3_clear_bindings(pSelect);
229533 nCol, p->abPK, pSelect
229542 sqlite3_bind_int(pSelect, ii+1+nCol, (pVal==0));
229543 if( pVal ) rc = sessionBindValue(pSelect, ii+1, pVal);
229549 rc = sqlite3_step(pSelect);
229550 if( rc!=SQLITE_ROW ) rc = sqlite3_reset(pSelect);
229670 && sqlite3_column_int(p->pSelect, sqlite3_column_count(p->pSelect)-1)
229674 pIter->pConflict = p->pSelect;
229678 rc = sqlite3_reset(p->pSelect);
229757 assert( p->pDelete && p->pInsert && p->pSelect );
229845 sqlite3_reset(p->pSelect);
230046 sqlite3_finalize(sApply.pSelect);
230050 sApply.pSelect = 0;
230178 sqlite3_finalize(sApply.pSelect);