Lines Matching refs:pSelect

17657   Select *pSelect;     /* NULL for tables.  Points to definition if a view. */
18125 ** Expr.x.pSelect is used if the expression is a sub-select or an expression of
18127 ** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
18164 ** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
18192 Select *pSelect; /* EP_xIsSelect and op = IN, EXISTS, SELECT */
18239 #define EP_VarSelect 0x000020 /* pSelect is correlated, not constant */
18245 #define EP_xIsSelect 0x000800 /* x.pSelect is valid (otherwise x.pList is) */
18257 #define EP_Leaf 0x800000 /* Expr.pLeft, .pRight, .u.pSelect all NULL */
18414 Select *pSelect; /* A SELECT statement used in place of a table name */
19125 * pSelect -> If this is an INSERT INTO ... SELECT ... statement, then
19153 Select *pSelect; /* SELECT statement or RHS of INSERT INTO SELECT ... */
19323 Select *pSelect; /* HAVING to WHERE clause ctx */
19378 Select *pSelect; /* The definition of this CTE */
29867 sqlite3TreeViewSelect(pView, pCte->pSelect, 0);
29908 if( pItem->pSelect ){
29909 sqlite3TreeViewSelect(pView, pItem->pSelect, 0);
30369 sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0);
30374 sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0);
30381 sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0);
30455 sqlite3TreeViewSelect(pView, pExpr->pLeft->x.pSelect, 0);
94406 if( pTab && pTab->pSelect ){
98462 if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort;
98539 if( pItem->pSelect && sqlite3WalkSelect(pWalker, pItem->pSelect) ){
98592 SQLITE_PRIVATE int sqlite3WalkerDepthIncrease(Walker *pWalker, Select *pSelect){
98593 UNUSED_PARAMETER(pSelect);
98597 SQLITE_PRIVATE void sqlite3WalkerDepthDecrease(Walker *pWalker, Select *pSelect){
98598 UNUSED_PARAMETER(pSelect);
98933 if( pItem->pSelect && (pItem->pSelect->selFlags & SF_NestedFrom)!=0 ){
98935 pEList = pItem->pSelect->pEList;
99142 assert( pExpr->x.pSelect==0 );
99747 sqlite3WalkSelect(pWalker, pExpr->x.pSelect);
99874 Select *pSelect, /* The SELECT statement with the ORDER BY clause */
99885 pEList = pSelect->pEList;
99891 nc.pSrcList = pSelect->pSrc;
99947 Select *pSelect /* The SELECT statement containing the ORDER BY */
99955 pOrderBy = pSelect->pOrderBy;
99965 pSelect->pNext = 0;
99966 while( pSelect->pPrior ){
99967 pSelect->pPrior->pNext = pSelect;
99968 pSelect = pSelect->pPrior;
99970 while( pSelect && moreToDo ){
99973 pEList = pSelect->pEList;
99990 ** by pSelect. In the usual case this is done by duplicating the
100009 iCol = resolveOrderByTermToExprList(pParse, pSelect, pDup);
100041 pSelect = pSelect->pNext;
100055 ** the SELECT statement pSelect. If any term is reference to a
100065 Select *pSelect, /* The SELECT statement containing the clause */
100079 pEList = pSelect->pEList;
100108 ** Select.pWin list of Select object pSelect.
100110 static void windowRemoveExprFromSelect(Select *pSelect, Expr *pExpr){
100111 if( pSelect->pWin ){
100115 sWalker.u.pSelect = pSelect;
100124 ** pOrderBy is an ORDER BY or GROUP BY clause in SELECT statement pSelect.
100143 Select *pSelect, /* The SELECT statement holding pOrderBy */
100154 nResult = pSelect->pEList->nExpr;
100161 iCol = resolveAsName(pParse, pSelect->pEList, pE2);
100188 for(j=0; j<pSelect->pEList->nExpr; j++){
100189 if( sqlite3ExprCompare(0, pE, pSelect->pEList->a[j].pExpr, -1)==0 ){
100193 windowRemoveExprFromSelect(pSelect, pE);
100198 return sqlite3ResolveOrderGroupBy(pParse, pSelect, pOrderBy, zType);
100262 Select *pSub = p->pSrc->a[0].pSelect;
100273 if( pItem->pSelect && (pItem->pSelect->selFlags & SF_Resolved)==0 ){
100278 sqlite3ResolveSelectNames(pParse, pItem->pSelect, pOuterNC);
100361 Select *pSub = p->pSrc->a[0].pSelect;
100709 assert( pExpr->x.pSelect!=0 );
100710 assert( pExpr->x.pSelect->pEList!=0 );
100711 assert( pExpr->x.pSelect->pEList->a[0].pExpr!=0 );
100712 return sqlite3ExprAffinity(pExpr->x.pSelect->pEList->a[0].pExpr);
100727 pExpr->pLeft->x.pSelect->pEList->a[pExpr->iColumn].pExpr
100948 aff = sqlite3CompareAffinity(pExpr->x.pSelect->pEList->a[0].pExpr, aff);
101089 return pExpr->x.pSelect->pEList->nExpr;
101115 return pVector->x.pSelect->pEList->a[i].pExpr;
101233 *ppExpr = pVector->x.pSelect->pEList->a[iField].pExpr;
101372 static void heightOfSelect(Select *pSelect, int *pnHeight){
101374 for(p=pSelect; p; p=p->pPrior){
101387 ** Expr.pSelect member has a height of 1. Any other expression
101399 heightOfSelect(p->x.pSelect, &nHeight);
101581 ** Add pSelect to the Expr.x.pSelect field. Or, if pExpr is NULL (due
101582 ** do a memory allocation failure) then delete the pSelect object.
101584 SQLITE_PRIVATE void sqlite3PExprAddSelect(Parse *pParse, Expr *pExpr, Select *pSelect){
101586 pExpr->x.pSelect = pSelect;
101591 sqlite3SelectDelete(pParse->db, pSelect);
101780 assert( p->x.pSelect==0 );
101792 sqlite3SelectDelete(db, p->x.pSelect);
101934 ** descended from the Expr.x.pList or Expr.x.pSelect variables).
102016 /* Fill in the pNew->x.pSelect or pNew->x.pList member. */
102018 pNew->x.pSelect = sqlite3SelectDup(db, p->x.pSelect, dupFlags);
102073 pRet->a[i].pSelect = sqlite3SelectDup(db, p->a[i].pSelect, 0);
102094 Select *pSelect = pWalker->u.pSelect;
102099 sqlite3WindowLink(pSelect, pWin);
102104 return p==pWalker->u.pSelect ? WRC_Continue : WRC_Prune;
102112 w.u.pSelect = p;
102227 pNewItem->pSelect = sqlite3SelectDup(db, pOldItem->pSelect, flags);
103059 p = pX->x.pSelect;
103072 if( pSrc->a[0].pSelect ) return 0; /* FROM is not a subquery or view */
103075 assert( pTab->pSelect==0 ); /* FROM clause is not a view */
103230 ExprList *pEList = pX->x.pSelect->pEList;
103432 Select *pSelect = (pExpr->flags & EP_xIsSelect) ? pExpr->x.pSelect : 0;
103442 if( pSelect ){
103443 zRet[i] = sqlite3CompareAffinity(pSelect->pEList->a[i].pExpr, a);
103483 sqlite3SubselectError(pParse, pExpr->x.pSelect->pEList->nExpr, 1);
103548 pExpr->x.pSelect->selId));
103579 VdbeComment((v, "Result of SELECT %u", pExpr->x.pSelect->selId));
103592 Select *pSelect = pExpr->x.pSelect;
103593 ExprList *pEList = pSelect->pEList;
103596 addrOnce?"":"CORRELATED ", pSelect->selId
103605 pSelect->iLimit = 0;
103606 testcase( pSelect->selFlags & SF_Distinct );
103608 if( sqlite3Select(pParse, pSelect, &dest) ){
103716 pSel = pExpr->x.pSelect;
103820 if( nVector!=pIn->x.pSelect->pEList->nExpr ){
103821 sqlite3SubselectError(pParse, pIn->x.pSelect->pEList->nExpr, nVector);
104960 }else if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){
106923 if( pTab->pSelect ){
107233 if( pTab->pSelect ){
107295 if( pTab->pSelect ){
107539 ** to select statement pSelect.
107541 static void renameWalkWith(Walker *pWalker, Select *pSelect){
107542 With *pWith = pSelect->pWith;
107546 Select *p = pWith->a[i].pSelect;
107986 if( pStep->pSelect ){
107987 sqlite3SelectPrep(pParse, pStep->pSelect, &sNC);
107997 if( p->pSelect ){
107998 sqlite3SelectPrep(pParse, p->pSelect, 0);
108001 assert( pStep->pFrom->a[i-1].pSelect );
108002 sqlite3SelectPrep(pParse, pStep->pFrom->a[i-1].pSelect, 0);
108061 sqlite3WalkSelect(pWalker, pStep->pSelect);
108074 sqlite3WalkSelect(pWalker, pStep->pFrom->a[i].pSelect);
108179 Select *pSelect = sParse.pNewTable->pSelect;
108180 if( pSelect ){
108181 pSelect->selFlags &= ~SF_View;
108183 sqlite3SelectPrep(&sParse, pSelect, 0);
108186 sqlite3WalkSelect(&sWalker, pSelect);
108193 assert( sParse.pNewTable->pSelect==0 );
108296 static int renameTableSelectCb(Walker *pWalker, Select *pSelect){
108299 SrcList *pSrc = pSelect->pSrc;
108300 if( pSelect->selFlags & SF_View ) return WRC_Prune;
108311 renameWalkWith(pWalker, pSelect);
108378 if( pTab->pSelect ){
108380 Select *pSelect = pTab->pSelect;
108385 assert( pSelect->selFlags & SF_View );
108386 pSelect->selFlags &= ~SF_View;
108387 sqlite3SelectPrep(&sParse, pTab->pSelect, &sNC);
108391 sqlite3WalkSelect(&sWalker, pTab->pSelect);
108519 if( isLegacy==0 && sParse.pNewTable && sParse.pNewTable->pSelect ){
108523 sqlite3SelectPrep(&sParse, sParse.pNewTable->pSelect, &sNC);
111169 static int fixSelectCb(Walker *p, Select *pSelect){
111175 SrcList *pList = pSelect->pSrc;
111195 if( pSelect->pWith ){
111196 for(i=0; i<pSelect->pWith->nCte; i++){
111197 if( sqlite3WalkSelect(p, pSelect->pWith->a[i].pSelect) ){
111263 Select *pSelect /* The SELECT statement to be fixed to one database */
111265 return sqlite3WalkSelect(&pFix->w, pSelect);
111281 if( sqlite3WalkSelect(&pFix->w, pStep->pSelect)
112312 sqlite3SelectDelete(db, pTable->pSelect);
113965 ** If the pSelect argument is not NULL, it means that this routine
113975 Select *pSelect /* Select from a "CREATE ... AS SELECT" */
113982 if( pEnd==0 && pSelect==0 ){
113989 if( pSelect==0 && sqlite3ShadowTableName(db, p->zName) ){
114003 if( pSelect ){
114106 if( p->pSelect==0 ){
114131 if( pSelect ){
114151 pSelTab = sqlite3ResultSetOfSelect(pParse, pSelect, SQLITE_AFF_BLOB);
114160 sqlite3Select(pParse, pSelect, &dest);
114176 if( pSelect ){
114244 if( !pSelect && !p->pSelect ){
114264 Select *pSelect, /* A SELECT statement that will become the new view */
114287 if( sqlite3FixSelect(&sFix, pSelect) ) goto create_view_fail;
114294 pSelect->selFlags |= SF_View;
114296 p->pSelect = pSelect;
114297 pSelect = 0;
114299 p->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE);
114324 sqlite3SelectDelete(db, pSelect);
114398 assert( pTable->pSelect );
114399 pSel = sqlite3SelectDup(db, pTable->pSelect, 0);
114476 if( pTab->pSelect ){
114816 if( isView && pTab->pSelect==0 ){
114820 if( !isView && pTab->pSelect ){
115285 if( pTab->pSelect ){
116164 if( pItem->pSelect ){
116165 sqlite3SrcListAssignCursors(pParse, pItem->pSelect->pSrc);
116185 if( pItem->pSelect ) sqlite3SelectDelete(db, pItem->pSelect);
116242 pItem->pSelect = pSubquery;
116822 pNew->pSelect = pQuery;
116837 sqlite3SelectDelete(db, pCte->pSelect);
117541 if( !viewOk && pTab->pSelect ){
117608 Select *pSelect = NULL; /* Complete SELECT tree */
117675 pSelect = sqlite3SelectNew(pParse, pEList, pSelectSrc, pWhere, 0 ,0,
117681 sqlite3PExprAddSelect(pParse, pInClause, pSelect);
117758 isView = pTab->pSelect!=0;
118005 assert( pPk!=0 || pTab->pSelect!=0 );
118239 if( pTab->pSelect==0 ){
121409 sqlite3SelectDelete(dbMem, pStep->pSelect);
121439 assert( pTab->pSelect==0 ); /* Not a view */
121929 Select *pSelect = 0; /* If RESTRICT, "SELECT RAISE(...)" */
122024 pSelect = sqlite3SelectNew(pParse,
122048 pStep->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE);
122061 sqlite3SelectDelete(db, pSelect);
122689 Select *pSelect, /* A SELECT statement to use as the data source */
122706 ** For the pSelect parameter holds the values to be inserted for the
122709 ** that follows. If the pSelect parameter is NULL, that means that the
122794 Select *pSelect, /* A SELECT statement to use as the data source */
122845 ** and discard the other (unused) parts of the pSelect object
122847 if( pSelect && (pSelect->selFlags & SF_Values)!=0 && pSelect->pPrior==0 ){
122848 pList = pSelect->pEList;
122849 pSelect->pEList = 0;
122850 sqlite3SelectDelete(db, pSelect);
122851 pSelect = 0;
122874 isView = pTab->pSelect!=0;
122904 sqlite3BeginWriteOperation(pParse, pSelect || pTrigger, iDb);
122916 if( pColumn==0 && xferOptimization(pParse, pTab, pSelect, onError, iDb) ){
123001 if( pSelect ){
123014 rc = sqlite3Select(pParse, pSelect, &dest);
123019 assert( pSelect->pEList );
123020 nColumn = pSelect->pEList->nExpr;
123160 if( pTab->pSelect ){
123198 }else if( pSelect ){
123282 }else if( pSelect ){
123312 assert( pSelect==0 ); /* Otherwise useTempTable is true */
123362 }else if( pSelect ){
123461 }else if( pSelect ){
123501 sqlite3SelectDelete(db, pSelect);
123782 assert( pTab->pSelect==0 ); /* This table is not a VIEW */
124641 assert( pTab->pSelect==0 ); /* This table is not a VIEW */
124849 Select *pSelect, /* A SELECT statement to use as the data source */
124857 SrcItem *pItem; /* An element of pSelect->pSrc */
124869 if( pSelect==0 ){
124872 if( pParse->pWith || pSelect->pWith ){
124875 ** error if pSelect reads from a CTE named "xxx". */
124890 assert(pSelect->pSrc); /* allocated even if there is no FROM clause */
124891 if( pSelect->pSrc->nSrc!=1 ){
124894 if( pSelect->pSrc->a[0].pSelect ){
124897 if( pSelect->pWhere ){
124900 if( pSelect->pOrderBy ){
124905 if( pSelect->pGroupBy ){
124908 if( pSelect->pLimit ){
124911 if( pSelect->pPrior ){
124914 if( pSelect->selFlags & SF_Distinct ){
124917 pEList = pSelect->pEList;
124931 pItem = pSelect->pSrc->a;
124948 if( pSrc->pSelect ){
131689 ** An instance of this object holds information (beyond pParse and pSelect)
131708 Select *pSelect, /* The query being coded */
131711 sqlite3ExprCodeExprList(pParse, pSelect->pEList, pInfo->regResult,
131730 Select *pSelect,
131738 innerLoopLoadRow(pParse, pSelect, pSort->pDeferredRowLoad);
131751 Select *pSelect, /* The whole SELECT statement */
131792 assert( pSelect->iOffset==0 || pSelect->iLimit!=0 );
131793 iLimit = pSelect->iOffset ? pSelect->iOffset+1 : pSelect->iLimit;
131811 regRecord = makeSorterRecord(pParse, pSort, pSelect, regBase, nBase);
131872 regRecord = makeSorterRecord(pParse, pSort, pSelect, regBase, nBase);
132859 pS = pTabList->a[j].pSelect;
132940 Select *pS = pExpr->x.pSelect;
133036 Select *pSelect /* Generate column names for this SELECT statement */
133056 while( pSelect->pPrior ) pSelect = pSelect->pPrior;
133057 SELECTTRACE(1,pParse,pSelect,("generating column names\n"));
133058 pTabList = pSelect->pSrc;
133059 pEList = pSelect->pEList;
133233 Select *pSelect, /* SELECT used to determine types and collations */
133244 assert( pSelect!=0 );
133245 assert( (pSelect->selFlags & SF_Resolved)!=0 );
133246 assert( pTab->nCol==pSelect->pEList->nExpr || db->mallocFailed );
133249 sNC.pSrcList = pSelect->pSrc;
133250 a = pSelect->pEList->a;
133281 SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect, char aff){
133289 sqlite3SelectPrep(pParse, pSelect, 0);
133292 while( pSelect->pPrior ) pSelect = pSelect->pPrior;
133300 sqlite3ColumnsFromExprList(pParse, pSelect->pEList, &pTab->nCol, &pTab->aCol);
133301 sqlite3SelectAddColumnTypeAndCollation(pParse, pTab, pSelect, aff);
134729 substSelect(pSubst, pExpr->x.pSelect, 1);
134772 substSelect(pSubst, pItem->pSelect, 1);
134783 ** pSelect is a SELECT statement and pSrcItem is one item in the FROM
134799 Select *pSelect, /* The complete SELECT statement */
134809 sqlite3WalkSelect(&w, pSelect);
134839 for(p=pItem->pSelect; p; p=p->pPrior){
135082 pSub = pSubitem->pSelect;
135216 pSub1 = pSubitem->pSelect;
135223 pSubitem->pSelect = 0;
135288 assert( pSubitem->pSelect==0 );
135292 pSubitem->pSelect = pSub1;
135907 || p->pSrc->nSrc!=1 || p->pSrc->a[0].pSelect
135913 assert( pTab && !pTab->pSelect && pExpr );
136176 pFrom->pSelect = sqlite3SelectDup(db, pCte->pSelect, 0);
136178 assert( pFrom->pSelect );
136187 pRecTerm = pSel = pFrom->pSelect;
136303 Select *pSel = pFrom->pSelect;
136333 ** fill pTabList->a[].pSelect with a copy of the SELECT statement
136391 Select *pSel = pFrom->pSelect;
136420 if( IsVirtual(pTab) || pTab->pSelect ){
136424 assert( pFrom->pSelect==0 );
136425 if( pTab->pSelect
136442 pFrom->pSelect = sqlite3SelectDup(db, pTab->pSelect, 0);
136446 sqlite3WalkSelect(pWalker, pFrom->pSelect);
136525 Select *pSub = pFrom->pSelect;
136663 static void sqlite3SelectExpand(Parse *pParse, Select *pSelect){
136670 sqlite3WalkSelect(&w, pSelect);
136675 sqlite3WalkSelect(&w, pSelect);
136709 Select *pSel = pFrom->pSelect;
136728 static void sqlite3SelectAddTypeInfo(Parse *pParse, Select *pSelect){
136735 sqlite3WalkSelect(&w, pSelect);
136967 Select *pS = pWalker->u.pSelect;
137006 sWalker.u.pSelect = p;
137026 assert( pThis->pSelect!=0 );
137027 if( pThis->pSelect->selFlags & SF_PushDown ) return 0;
137030 if( pItem->pSelect==0 ) continue;
137037 pS1 = pItem->pSelect;
137038 if( pItem->pTab->pSchema==0 && pThis->pSelect->selId!=pS1->selId ){
137043 if( pItem->pSelect->selFlags & SF_PushDown ){
137096 pSub = p->pSrc->a[0].pSelect;
137112 pSub = p->pSrc->a[0].pSelect;
137113 p->pSrc->a[0].pSelect = 0;
137281 Select *pSub = pItem->pSelect;
137445 pSub = pItem->pSelect;
137486 assert( pItem->pSelect && (pItem->pSelect->selFlags & SF_PushDown)!=0 );
137545 pSub->nSelectRow = pPrior->pSelect->nSelectRow;
138548 sqlite3SelectDelete(db, pTmp->pSelect);
138732 if( pTab->pSelect && tr_tm!=TK_INSTEAD ){
138737 if( !pTab->pSelect && tr_tm==TK_INSTEAD ){
138919 ** Turn a SELECT statement (that the pSelect parameter points to) into
138927 Select *pSelect, /* The SELECT statement */
138933 sqlite3SelectDelete(db, pSelect);
138937 pTriggerStep->pSelect = pSelect;
138985 Select *pSelect, /* A SELECT statement that supplies values */
138994 assert(pSelect != 0 || db->mallocFailed);
138999 pTriggerStep->pSelect = pSelect;
139000 pSelect = 0;
139002 pTriggerStep->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE);
139016 sqlite3SelectDelete(db, pSelect);
139528 sqlite3SelectDup(db, pStep->pSelect, 0),
139546 Select *pSelect = sqlite3SelectDup(db, pStep->pSelect, 0);
139548 sqlite3Select(pParse, pSelect, &sDest);
139549 sqlite3SelectDelete(db, pSelect);
139988 if( !pTab->pSelect ){
140120 Select *pSelect = 0;
140163 }else if( pTab->pSelect ){
140184 pSelect = sqlite3SelectNew(pParse, pList,
140189 sqlite3Select(pParse, pSelect, &dest);
140190 sqlite3SelectDelete(db, pSelect);
140286 isView = pTab->pSelect!=0;
142799 && !sParse.pNewTable->pSelect
144059 if( pItem->pSelect ){
144060 sqlite3_str_appendf(&str, " SUBQUERY %u", pItem->pSelect->selId);
144328 ExprList *pOrigRhs = pNew->x.pSelect->pEList; /* Original unmodified RHS */
144333 Select *pSelect; /* Pointer to the SELECT on the RHS */
144349 pNew->x.pSelect->pEList = pRhs;
144359 pSelect = pNew->x.pSelect;
144360 if( pSelect->pOrderBy ){
144368 ExprList *pOrderBy = pSelect->pOrderBy;
144452 if( (pX->flags & EP_xIsSelect)==0 || pX->x.pSelect->pEList->nExpr==1 ){
146355 && (pAlt->pExpr->x.pSelect->pEList->nExpr>1)
147339 mask |= exprSelectUsage(pMaskSet, pSrc->a[i].pSelect);
147606 Select *pSel = pExpr->x.pSelect;
147632 pSel = pDup->x.pSelect;
147738 pTerm->prereqRight = exprSelectUsage(pMaskSet, pExpr->x.pSelect);
148051 && pExpr->x.pSelect->pPrior==0
148053 && pExpr->x.pSelect->pWin==0
148216 mask |= exprSelectUsage(pMaskSet, p->x.pSelect);
150703 pRhs = pRhs->x.pSelect->pEList->a[i].pExpr;
151329 if( pTab->pSelect==0 && (pTab->tabFlags & TF_Ephemeral)==0 ){
153469 if( (pTab->tabFlags & TF_Ephemeral)!=0 || pTab->pSelect ){
153823 && pTab->pSelect==0
154766 static int selectWindowRewriteSelectCb(Walker *pWalker, Select *pSelect){
154769 if( pSave==pSelect ){
154772 p->pSubSelect = pSelect;
154773 sqlite3WalkSelect(pWalker, pSelect);
154991 p->pSrc->a[0].pSelect = pSub;
155294 SQLITE_PRIVATE void sqlite3WindowCodeInit(Parse *pParse, Select *pSelect){
155295 int nEphExpr = pSelect->pSrc->a[0].pSelect->pEList->nExpr;
155296 Window *pMWin = pSelect->pWin;
157133 static Select *attachWithToSelect(Parse *pParse, Select *pSelect, With *pWith){
157134 if( pSelect ){
157135 pSelect->pWith = pWith;
157136 parserDoubleLinkSelect(pParse, pSelect);
157140 return pSelect;
160981 pNew->pSelect = pOld->pSelect;
160989 pOld->pSelect = 0;
161458 Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0);
161459 if( yymsp[0].minor.yy338 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy338);
161461 sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy602, pSelect);
167767 if( !pTab || pTab->pSelect ){
181278 static int langidFromSelect(Fts3Table *p, sqlite3_stmt *pSelect){
181280 if( p->zLanguageid ) iLangid = sqlite3_column_int(pSelect, p->nColumn+1);
181297 sqlite3_stmt *pSelect;
181301 rc = fts3SqlStmt(p, SQL_SELECT_CONTENT_BY_ROWID, &pSelect, &pRowid);
181303 if( SQLITE_ROW==sqlite3_step(pSelect) ){
181305 int iLangid = langidFromSelect(p, pSelect);
181306 i64 iDocid = sqlite3_column_int64(pSelect, 0);
181311 const char *zText = (const char *)sqlite3_column_text(pSelect, i);
181313 aSz[p->nColumn] += sqlite3_column_bytes(pSelect, i);
181317 sqlite3_reset(pSelect);
181323 rc = sqlite3_reset(pSelect);
181325 sqlite3_reset(pSelect);
184464 sqlite3_stmt *pSelect = 0; /* SELECT to read %_segdir entry */
184466 rc = fts3SqlStmt(p, SQL_SELECT_SEGDIR, &pSelect, 0);
184477 sqlite3_bind_int64(pSelect, 1, iAbsLevel+1);
184478 sqlite3_bind_int(pSelect, 2, iIdx);
184479 if( sqlite3_step(pSelect)==SQLITE_ROW ){
184480 iStart = sqlite3_column_int64(pSelect, 1);
184481 iLeafEnd = sqlite3_column_int64(pSelect, 2);
184482 fts3ReadEndBlockField(pSelect, 3, &iEnd, &pWriter->nLeafData);
184487 nRoot = sqlite3_column_bytes(pSelect, 4);
184488 aRoot = sqlite3_column_blob(pSelect, 4);
184490 sqlite3_reset(pSelect);
184494 return sqlite3_reset(pSelect);
184529 sqlite3_reset(pSelect);
184590 rc2 = sqlite3_reset(pSelect);
184749 sqlite3_stmt *pSelect = 0; /* Select statement to read idx values */
184752 rc = fts3SqlStmt(p, SQL_SELECT_INDEXES, &pSelect, 0);
184755 sqlite3_bind_int64(pSelect, 1, iAbsLevel);
184756 while( SQLITE_ROW==sqlite3_step(pSelect) ){
184767 aIdx[nIdx++] = sqlite3_column_int(pSelect, 0);
184769 rc2 = sqlite3_reset(pSelect);
185035 sqlite3_stmt *pSelect = 0;
185039 rc = fts3SqlStmt(p, SQL_SELECT_STAT, &pSelect, 0);
185042 sqlite3_bind_int(pSelect, 1, FTS_STAT_INCRMERGEHINT);
185043 if( SQLITE_ROW==sqlite3_step(pSelect) ){
185044 const char *aHint = sqlite3_column_blob(pSelect, 0);
185045 int nHint = sqlite3_column_bytes(pSelect, 0);
185054 rc2 = sqlite3_reset(pSelect);
187261 sqlite3_stmt *pSelect = 0;
187277 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &nDoc, 0, 0);
187288 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &nDoc, &a, &pEnd);
187350 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &pInfo->nDoc,0,0);
187365 sqlite3_reset(pSelect);
199269 sqlite3_stmt *pSelect; /* Source data */
199799 sqlite3_finalize(pIter->pSelect);
199813 pIter->pSelect = 0;
200848 ** (p->objiter.pSelect) currently points to a valid row. However, there
201300 if( pIter->pSelect==0 && rbuObjIterCacheTableInfo(p, pIter)==SQLITE_OK ){
201399 p->rc = prepareFreeAndCollectError(p->dbRbu,&pIter->pSelect,pz,zSql);
201524 p->rc = prepareFreeAndCollectError(p->dbRbu, &pIter->pSelect, pz,
202234 ** (p->objiter.pSelect) currently points to a valid row. This function
202253 switch( sqlite3_column_type(p->objiter.pSelect, iCol) ){
202255 int iVal = sqlite3_column_int(p->objiter.pSelect, iCol);
202267 const unsigned char *z = sqlite3_column_text(p->objiter.pSelect, iCol);
202337 && sqlite3_column_type(pIter->pSelect, i)==SQLITE_NULL
202348 pVal = sqlite3_column_value(pIter->pSelect, i);
202364 assertColumnName(pIter->pSelect, pIter->nCol+1,
202367 pVal = sqlite3_column_value(pIter->pSelect, pIter->nCol+1);
202381 ** and the input cursor (p->objiter.pSelect) currently points to a valid
202423 pVal = sqlite3_column_value(pIter->pSelect, i);
202432 assertColumnName(pIter->pSelect, pIter->nCol+1, "rbu_rowid");
202433 pVal = sqlite3_column_value(pIter->pSelect, pIter->nCol+1);
202647 int rc = sqlite3_step(pIter->pSelect);
202653 p->rc = sqlite3_reset(pIter->pSelect);
207872 sqlite3_stmt *pSelect, /* SELECT from sessionSelectStmt() */
207893 rc = sqlite3_bind_int64(pSelect, i+1, iVal);
207904 rc = sqlite3_bind_double(pSelect, i+1, rVal);
207914 rc = sqlite3_bind_text(pSelect, i+1, (char *)a, n, SQLITE_TRANSIENT);
207925 rc = sqlite3_bind_blob(pSelect, i+1, a, n, SQLITE_TRANSIENT);
209133 sqlite3_stmt *pSelect; /* SELECT statement */
209388 ** If successful, SQLITE_OK is returned and SessionApplyCtx.pSelect is left
209397 db, "main", zTab, p->nCol, p->azCol, p->abPK, &p->pSelect);
209538 ** SQL statement pSelect is as generated by the sessionSelectRow() function.
209547 ** statement pSelect. If any other value is returned, the statement does
209558 sqlite3_stmt *pSelect /* SELECT statement from sessionSelectRow() */
209568 nCol, abPK, pSelect
209572 rc = sqlite3_step(pSelect);
209573 if( rc!=SQLITE_ROW ) rc = sqlite3_reset(pSelect);
209685 rc = sessionSeekToRow(p->db, pIter, p->abPK, p->pSelect);
209692 pIter->pConflict = p->pSelect;
209695 rc = sqlite3_reset(p->pSelect);
209774 assert( p->pDelete && p->pInsert && p->pSelect );
209859 rc = sessionSeekToRow(p->db, pIter, p->abPK, p->pSelect);
209862 sqlite3_reset(p->pSelect);
210062 sqlite3_finalize(sApply.pSelect);
210066 sApply.pSelect = 0;
210193 sqlite3_finalize(sApply.pSelect);