Home | History | Annotate | Download | only in orig

Lines Matching defs:pSelect

10942   Select *pSelect;     /* NULL for tables.  Points to definition if a view. */
11307 ** Expr.x.pSelect is used if the expression is a sub-select or an expression of
11309 ** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
11346 ** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
11367 Select *pSelect; /* EP_xIsSelect and op = IN, EXISTS, SELECT */
11401 #define EP_VarSelect 0x000020 /* pSelect is correlated, not constant */
11407 #define EP_xIsSelect 0x000800 /* x.pSelect is valid (otherwise x.pList is) */
11569 Select *pSelect; /* A SELECT statement used in place of a table name */
11579 u8 iSelectId; /* If pSelect!=0, the id of the sub-select in EQP */
12096 * pSelect -> If this is an INSERT INTO ... SELECT ... statement, then
12123 Select *pSelect; /* SELECT statment or RHS of INSERT INTO .. SELECT ... */
12294 Select *pSelect; /* The definition of this CTE */
74715 if( pTab && pTab->pSelect ){
76661 if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort;
76716 if( sqlite3WalkSelect(pWalker, pItem->pSelect) ){
77042 if( pItem->pSelect && (pItem->pSelect->selFlags & SF_NestedFrom)!=0 ){
77044 pEList = pItem->pSelect->pEList;
77187 assert( pExpr->x.pSelect==0 );
77545 sqlite3WalkSelect(pWalker, pExpr->x.pSelect);
77615 Select *pSelect, /* The SELECT statement with the ORDER BY clause */
77626 pEList = pSelect->pEList;
77632 nc.pSrcList = pSelect->pSrc;
77688 Select *pSelect /* The SELECT statement containing the ORDER BY */
77696 pOrderBy = pSelect->pOrderBy;
77708 pSelect->pNext = 0;
77709 while( pSelect->pPrior ){
77710 pSelect->pPrior->pNext = pSelect;
77711 pSelect = pSelect->pPrior;
77713 while( pSelect && moreToDo ){
77716 pEList = pSelect->pEList;
77734 iCol = resolveOrderByTermToExprList(pParse, pSelect, pDup);
77760 pSelect = pSelect->pNext;
77774 ** the SELECT statement pSelect. If any term is reference to a
77784 Select *pSelect, /* The SELECT statement containing the clause */
77800 pEList = pSelect->pEList;
77815 ** pOrderBy is an ORDER BY or GROUP BY clause in SELECT statement pSelect.
77834 Select *pSelect, /* The SELECT statement holding pOrderBy */
77845 nResult = pSelect->pEList->nExpr;
77851 iCol = resolveAsName(pParse, pSelect->pEList, pE2);
77878 for(j=0; j<pSelect->pEList->nExpr; j++){
77879 if( sqlite3ExprCompare(pE, pSelect->pEList->a[j].pExpr, -1)==0 ){
77884 return sqlite3ResolveOrderGroupBy(pParse, pSelect, pOrderBy, zType);
77946 if( pItem->pSelect ){
77953 ** pItem->pSelect, check if this value has changed. If so, then
77954 ** SELECT statement pItem->pSelect must be correlated. Set the
77959 sqlite3ResolveSelectNames(pParse, pItem->pSelect, pOuterNC);
78266 return sqlite3ExprAffinity(pExpr->x.pSelect->pEList->a[0].pExpr);
78432 aff = sqlite3CompareAffinity(pExpr->x.pSelect->pEList->a[0].pExpr, aff);
78581 ** Expr.pSelect member has a height of 1. Any other expression
78590 heightOfSelect(p->x.pSelect, &nHeight);
78925 sqlite3SelectDelete(db, p->x.pSelect);
79026 ** descended from the Expr.x.pList or Expr.x.pSelect variables).
79100 /* Fill in the pNew->x.pSelect or pNew->x.pList member. */
79102 pNew->x.pSelect = sqlite3SelectDup(db, p->x.pSelect, isReduced);
79145 pRet->a[i].pSelect = sqlite3SelectDup(db, p->a[i].pSelect, 0);
79244 pNewItem->pSelect = sqlite3SelectDup(db, pOldItem->pSelect, flags);
79686 if( pSrc->a[0].pSelect ) return 0; /* FROM is not a subquery or view */
79689 assert( pTab->pSelect==0 ); /* FROM clause is not a view */
79826 p = (ExprHasProperty(pX, EP_xIsSelect) ? pX->x.pSelect : 0);
80032 Select *pSelect = pExpr->x.pSelect;
80040 pSelect->iLimit = 0;
80041 testcase( pSelect->selFlags & SF_Distinct );
80042 pSelect->selFlags &= ~SF_Distinct;
80044 if( sqlite3Select(pParse, pSelect, &dest) ){
80048 pEList = pSelect->pEList;
80137 pSel = pExpr->x.pSelect;
81605 sqlite3ExplainSelect(pOut, pExpr->x.pSelect);
81611 sqlite3ExplainSelect(pOut, pExpr->x.pSelect);
81620 sqlite3ExplainSelect(pOut, pExpr->x.pSelect);
82474 static int analyzeAggregatesInSelect(Walker *pWalker, Select *pSelect){
82476 UNUSED_PARAMETER(pSelect);
83028 if( pTab->pSelect ){
83353 if( pTab->pSelect ){
85737 if( sqlite3FixSelect(pFix, pItem->pSelect) ) return 1;
85746 Select *pSelect /* The SELECT statement to be fixed to one database */
85748 while( pSelect ){
85749 if( sqlite3FixExprList(pFix, pSelect->pEList) ){
85752 if( sqlite3FixSrcList(pFix, pSelect->pSrc) ){
85755 if( sqlite3FixExpr(pFix, pSelect->pWhere) ){
85758 if( sqlite3FixExprList(pFix, pSelect->pGroupBy) ){
85761 if( sqlite3FixExpr(pFix, pSelect->pHaving) ){
85764 if( sqlite3FixExprList(pFix, pSelect->pOrderBy) ){
85767 if( sqlite3FixExpr(pFix, pSelect->pLimit) ){
85770 if( sqlite3FixExpr(pFix, pSelect->pOffset) ){
85773 pSelect = pSelect->pPrior;
85792 if( sqlite3FixSelect(pFix, pExpr->x.pSelect) ) return 1;
85825 if( sqlite3FixSelect(pFix, pStep->pSelect) ){
86691 sqlite3SelectDelete(db, pTable->pSelect);
87847 ** If the pSelect argument is not NULL, it means that this routine
87857 Select *pSelect /* Select from a "CREATE ... AS SELECT" */
87864 if( (pEnd==0 && pSelect==0) || db->mallocFailed ){
87870 assert( !db->init.busy || !pSelect );
87934 if( p->pSelect==0 ){
87959 if( pSelect ){
87968 sqlite3Select(pParse, pSelect, &dest);
87971 pSelTab = sqlite3ResultSetOfSelect(pParse, pSelect);
87983 if( pSelect ){
88052 if( !p->pSelect ){
88055 assert( !pSelect && pCons && pEnd );
88075 Select *pSelect, /* A SELECT statement that will become the new view */
88090 sqlite3SelectDelete(db, pSelect);
88096 sqlite3SelectDelete(db, pSelect);
88102 if( sqlite3FixSelect(&sFix, pSelect) ){
88103 sqlite3SelectDelete(db, pSelect);
88112 p->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE);
88113 sqlite3SelectDelete(db, pSelect);
88198 assert( pTable->pSelect );
88199 pSel = sqlite3SelectDup(db, pTable->pSelect, 0);
88248 if( pTab->pSelect ){
88561 if( isView && pTab->pSelect==0 ){
88565 if( !isView && pTab->pSelect ){
88973 if( pTab->pSelect ){
89701 if( pItem->pSelect ){
89702 sqlite3SrcListAssignCursors(pParse, pItem->pSelect->pSrc);
89721 sqlite3SelectDelete(db, pItem->pSelect);
89771 pItem->pSelect = pSubquery;
90326 pNew->a[pNew->nCte].pSelect = pQuery;
90345 sqlite3SelectDelete(db, pCte->pSelect);
90906 if( !viewOk && pTab->pSelect ){
90971 Select *pSelect = NULL; /* Complete SELECT tree */
91012 pSelect = sqlite3SelectNew(pParse,pEList,pSelectSrc,pWhere,0,0,
91014 if( pSelect == 0 ) return 0;
91022 pInClause->x.pSelect = pSelect;
91029 sqlite3SelectDelete(pParse->db, pSelect);
91110 isView = pTab->pSelect!=0;
91505 if( pTab->pSelect==0 ){
94099 sqlite3SelectDelete(dbMem, pStep->pSelect);
94124 if( (db->flags&SQLITE_ForeignKeys) && !IsVirtual(pTab) && !pTab->pSelect ){
94552 Select *pSelect = 0; /* If RESTRICT, "SELECT RAISE(...)" */
94643 pSelect = sqlite3SelectNew(pParse,
94669 pStep->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE);
94682 sqlite3SelectDelete(db, pSelect);
95122 Select *pSelect, /* A SELECT statement to use as the data source */
95138 ** statement above, and pSelect is NULL. For the second form, pList is
95139 ** NULL and pSelect is a pointer to the select statement used to generate
95224 Select *pSelect, /* A SELECT statement to use as the data source */
95278 if( pSelect && (pSelect->selFlags & SF_Values)!=0 && pSelect->pPrior==0 ){
95279 pList = pSelect->pEList;
95280 pSelect->pEList = 0;
95281 sqlite3SelectDelete(db, pSelect);
95282 pSelect = 0;
95308 isView = pTab->pSelect!=0;
95338 sqlite3BeginWriteOperation(pParse, pSelect || pTrigger, iDb);
95350 if( pColumn==0 && xferOptimization(pParse, pTab, pSelect, onError, iDb) ){
95418 if( pSelect ){
95430 rc = sqlite3Select(pParse, pSelect, &dest);
95436 assert( pSelect->pEList );
95437 nColumn = pSelect->pEList->nExpr;
95558 }else if( pSelect ){
95591 assert( pSelect==0 ); /* Otherwise useTempTable is true */
95620 assert( pSelect==0 ); /* Otherwise useTempTable is true */
95652 }else if( pSelect ){
95721 }else if( pSelect ){
95773 }else if( pSelect ){
95809 sqlite3SelectDelete(db, pSelect);
95944 assert( pTab->pSelect==0 ); /* This table is not a VIEW */
96341 assert( pTab->pSelect==0 ); /* This table is not a VIEW */
96546 Select *pSelect, /* A SELECT statement to use as the data source */
96553 struct SrcList_item *pItem; /* An element of pSelect->pSrc */
96565 if( pSelect==0 ){
96568 if( pParse->pWith || pSelect->pWith ){
96571 ** error if pSelect reads from a CTE named "xxx". */
96586 assert(pSelect->pSrc); /* allocated even if there is no FROM clause */
96587 if( pSelect->pSrc->nSrc!=1 ){
96590 if( pSelect->pSrc->a[0].pSelect ){
96593 if( pSelect->pWhere ){
96596 if( pSelect->pOrderBy ){
96601 if( pSelect->pGroupBy ){
96604 if( pSelect->pLimit ){
96607 assert( pSelect->pOffset==0 ); /* Must be so if pLimit==0 */
96608 if( pSelect->pPrior ){
96611 if( pSelect->selFlags & SF_Distinct ){
96614 pEList = pSelect->pEList;
96628 pItem = pSelect->pSrc->a;
96644 if( pSrc->pSelect ){
101913 Select *pSelect, /* The whole SELECT statement */
101965 if( pSelect->iLimit ){
101968 if( pSelect->iOffset ){
101969 iLimit = pSelect->iOffset+1;
101971 iLimit = pSelect->iLimit;
102746 pS = pTabList->a[j].pSelect;
102828 Select *pS = pExpr->x.pSelect;
103079 Select *pSelect /* SELECT used to determine types and collations */
103090 assert( pSelect!=0 );
103091 assert( (pSelect->selFlags & SF_Resolved)!=0 );
103092 assert( pTab->nCol==pSelect->pEList->nExpr || db->mallocFailed );
103095 sNC.pSrcList = pSelect->pSrc;
103096 a = pSelect->pEList->a;
103115 SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect){
103123 sqlite3SelectPrep(pParse, pSelect, 0);
103125 while( pSelect->pPrior ) pSelect = pSelect->pPrior;
103137 selectColumnsFromExprList(pParse, pSelect->pEList, &pTab->nCol, &pTab->aCol);
103138 selectAddColumnTypeAndCollation(pParse, pTab, pSelect);
104451 substSelect(db, pExpr->x.pSelect, iTable, pEList);
104490 substSelect(db, pItem->pSelect, iTable, pEList);
104655 pSub = pSubitem->pSelect;
104833 pSub = pSub1 = pSubitem->pSelect;
104844 pSubitem->pSelect = 0;
105064 || p->pSrc->nSrc!=1 || p->pSrc->a[0].pSelect
105070 assert( pTab && !pTab->pSelect && pExpr );
105277 pFrom->pSelect = sqlite3SelectDup(db, pCte->pSelect, 0);
105279 assert( pFrom->pSelect );
105282 pSel = pFrom->pSelect;
105286 SrcList *pSrc = pFrom->pSelect->pSrc;
105375 ** fill pTabList->a[].pSelect with a copy of the SELECT statement
105439 Select *pSel = pFrom->pSelect;
105467 if( pTab->pSelect || IsVirtual(pTab) ){
105470 assert( pFrom->pSelect==0 );
105471 pFrom->pSelect = sqlite3SelectDup(db, pTab->pSelect, 0);
105472 sqlite3WalkSelect(pWalker, pFrom->pSelect);
105552 Select *pSub = pFrom->pSelect;
105689 static void sqlite3SelectExpand(Parse *pParse, Select *pSelect){
105696 sqlite3WalkSelect(&w, pSelect);
105700 sqlite3WalkSelect(&w, pSelect);
105733 Select *pSel = pFrom->pSelect;
105752 static void sqlite3SelectAddTypeInfo(Parse *pParse, Select *pSelect){
105759 sqlite3WalkSelect(&w, pSelect);
106053 Select *pSub = pItem->pSelect;
106789 if( pItem->pSelect ){
106790 sqlite3ExplainSelect(pVdbe, pItem->pSelect);
107084 sqlite3SelectDelete(db, pTmp->pSelect);
107262 if( pTab->pSelect && tr_tm!=TK_INSTEAD ){
107267 if( !pTab->pSelect && tr_tm==TK_INSTEAD ){
107405 ** Turn a SELECT statement (that the pSelect parameter points to) into
107411 SQLITE_PRIVATE TriggerStep *sqlite3TriggerSelectStep(sqlite3 *db, Select *pSelect){
107414 sqlite3SelectDelete(db, pSelect);
107418 pTriggerStep->pSelect = pSelect;
107458 Select *pSelect, /* A SELECT statement that supplies values */
107463 assert(pSelect != 0 || db->mallocFailed);
107467 pTriggerStep->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE);
107473 sqlite3SelectDelete(db, pSelect);
107803 sqlite3SelectDup(db, pStep->pSelect, 0),
107818 Select *pSelect = sqlite3SelectDup(db, pStep->pSelect, 0);
107820 sqlite3Select(pParse, pSelect, &sDest);
107821 sqlite3SelectDelete(db, pSelect);
108247 if( !pTab->pSelect ){
108346 isView = pTab->pSelect!=0;
108896 Select *pSelect = 0; /* The SELECT statement */
108923 pSelect = sqlite3SelectNew(pParse, pEList, pSrc, pWhere, 0, 0, 0, 0, 0, 0);
108936 sqlite3Select(pParse, pSelect, &dest);
108956 sqlite3SelectDelete(db, pSelect);
110050 && !pParse->pNewTable->pSelect
111211 mask |= exprSelectTableUsage(pMaskSet, p->x.pSelect);
111239 mask |= exprSelectTableUsage(pMaskSet, pSrc->a[i].pSelect);
112015 pTerm->prereqRight = exprSelectTableUsage(pMaskSet, pExpr->x.pSelect);
113716 if( pItem->pSelect ){
117155 if( (pTab->tabFlags & TF_Ephemeral)!=0 || pTab->pSelect ){
117383 && pTab->pSelect==0
119981 pNew->pSelect = pOld->pSelect;
119983 pOld->pSelect = 0;
120357 yygotominor.yy346.pExpr->x.pSelect = yymsp[-1].minor.yy3;
120371 yygotominor.yy346.pExpr->x.pSelect = yymsp[-1].minor.yy3;
120387 yygotominor.yy346.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0);
120402 p->x.pSelect = yymsp[-1].minor.yy3;
125095 if( !pTab || pTab->pSelect ){
137743 static int langidFromSelect(Fts3Table *p, sqlite3_stmt *pSelect){
137745 if( p->zLanguageid ) iLangid = sqlite3_column_int(pSelect, p->nColumn+1);
137762 sqlite3_stmt *pSelect;
137766 rc = fts3SqlStmt(p, SQL_SELECT_CONTENT_BY_ROWID, &pSelect, &pRowid);
137768 if( SQLITE_ROW==sqlite3_step(pSelect) ){
137770 int iLangid = langidFromSelect(p, pSelect);
137771 rc = fts3PendingTermsDocid(p, iLangid, sqlite3_column_int64(pSelect, 0));
137775 const char *zText = (const char *)sqlite3_column_text(pSelect, i);
137777 aSz[p->nColumn] += sqlite3_column_bytes(pSelect, i);
137781 sqlite3_reset(pSelect);
137787 rc = sqlite3_reset(pSelect);
137789 sqlite3_reset(pSelect);
140861 sqlite3_stmt *pSelect = 0; /* SELECT to read %_segdir entry */
140863 rc = fts3SqlStmt(p, SQL_SELECT_SEGDIR, &pSelect, 0);
140874 sqlite3_bind_int64(pSelect, 1, iAbsLevel+1);
140875 sqlite3_bind_int(pSelect, 2, iIdx);
140876 if( sqlite3_step(pSelect)==SQLITE_ROW ){
140877 iStart = sqlite3_column_int64(pSelect, 1);
140878 iLeafEnd = sqlite3_column_int64(pSelect, 2);
140879 fts3ReadEndBlockField(pSelect, 3, &iEnd, &pWriter->nLeafData);
140884 nRoot = sqlite3_column_bytes(pSelect, 4);
140885 aRoot = sqlite3_column_blob(pSelect, 4);
140887 return sqlite3_reset(pSelect);
140968 rc2 = sqlite3_reset(pSelect);
141127 sqlite3_stmt *pSelect = 0; /* Select statement to read idx values */
141130 rc = fts3SqlStmt(p, SQL_SELECT_INDEXES, &pSelect, 0);
141133 sqlite3_bind_int64(pSelect, 1, iAbsLevel);
141134 while( SQLITE_ROW==sqlite3_step(pSelect) ){
141145 aIdx[nIdx++] = sqlite3_column_int(pSelect, 0);
141147 rc2 = sqlite3_reset(pSelect);
141408 sqlite3_stmt *pSelect = 0;
141412 rc = fts3SqlStmt(p, SQL_SELECT_STAT, &pSelect, 0);
141415 sqlite3_bind_int(pSelect, 1, FTS_STAT_INCRMERGEHINT);
141416 if( SQLITE_ROW==sqlite3_step(pSelect) ){
141417 const char *aHint = sqlite3_column_blob(pSelect, 0);
141418 int nHint = sqlite3_column_bytes(pSelect, 0);
141427 rc2 = sqlite3_reset(pSelect);
143393 sqlite3_stmt *pSelect = 0;
143409 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &nDoc, 0);
143419 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &nDoc, &a);
143464 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &pInfo->nDoc, 0);
143478 sqlite3_reset(pSelect);