Select
Select *pSelect /* The SELECT statement to be fixed to one database */
Select *pSel;
void sqliteEndTable(Parse *pParse, Token *pEnd, Select *pSelect){
Select *pSelect, /* A SELECT statement that will become the new view */
Select *pView = sqliteSelectDup(pTab->pSelect);
Select *sqliteSelectDup(Select *p){
Select *pNew;
Select *pSelect, /* A SELECT statement to use as the data source */
%type select {Select*}
%type oneselect {Select*}
%type seltablist_paren {Select*}
void sqliteSelectUnbind(Select *p){
Select *pSelect, /* Match to result columns of this SELECT */
static void multiSelectSortOrder(Select *p, ExprList *pOrderBy){
static void computeLimitRegisters(Parse *pParse, Select *p){
static int multiSelect(Parse *pParse, Select *p, int eDest, int iParm){
Select *pPrior; /* Another SELECT immediately to our left */
Select *p, /* The parent or outer SELECT statement */
Select *pSub; /* The inner query or "subquery" */
static int simpleMinMaxQuery(Parse *pParse, Select *p, int eDest, int iParm){
Select *p, /* The SELECT statement being coded. */
Select *pParent, /* Another SELECT for which this is a sub-query */
static int sqliteProcessJoin(Parse *pParse, Select *p){
Select *sqliteSelectNew(
void sqliteSelectDelete(Select *p){
Select *pNew;
Select *p, /* The SELECT statement being coded */
Select *p, /* The complete select statement being coded */
Select *p, /* The SELECT statement */
static int fillInColumnList(Parse*, Select*);
Table *sqliteResultSetOfSelect(Parse *pParse, char *zTabName, Select *pSelect){
static int fillInColumnList(Parse *pParse, Select *p){
Select *pSelect; /* Valid for SELECT and sometimes
Table *sqliteResultSetOfSelect(Parse*,char*,Select*);
void sqliteEndTable(Parse*,Token*,Select*);
void sqliteCreateView(Parse*,Token*,Token*,Select*,int);
void sqliteInsert(Parse*, SrcList*, ExprList*, Select*, IdList*, int);
int sqliteSelect(Parse*, Select*, int, int, Select*, int, int*);
Select *sqliteSelectNew(ExprList*,SrcList*,Expr*,ExprList*,Expr*,ExprList*,
void sqliteSelectDelete(Select*);
void sqliteSelectUnbind(Select*);
Select *sqliteSelectDup(Select*);
TriggerStep *sqliteTriggerSelectStep(Select*);
TriggerStep *sqliteTriggerInsertStep(Token*, IdList*, ExprList*, Select*, int);
int sqliteFixSelect(DbFixer*, Select*);
typedef struct Select Select;
Select *pSelect; /* NULL for tables. Points to definition if a view. */
Select *pSelect; /* When the expression is a sub-select. Also the
Select *pSelect; /* A SELECT statement used in place of a table name */
Select *pPrior; /* Prior select in a compound select statement */
Select *pNew = sqliteSelectDup(p->pSelect);
TriggerStep *sqliteTriggerSelectStep(Select *pSelect){
Select *pSelect, /* A SELECT statement that supplies values */
Select * ss = sqliteSelectDup(pTriggerStep->pSelect);
Select *pView;