ExprList
ExprList *pList /* The expression to be fixed to one database */
ExprList *pEList;
ExprList *pList = pExpr->pList;
ExprList *pList, /* The expression list to be coded */
ExprList *sqliteExprListDup(ExprList *p){
ExprList *pNew;
ExprList *sqliteExprListAppend(ExprList *pList, Expr *pExpr, Token *pName){
pList = sqliteMalloc( sizeof(ExprList) );
void sqliteExprListDelete(ExprList *pList){
ExprList *pEList, /* List of expressions used to resolve "AS" */
ExprList *pEList, /* List of expressions used to resolve "AS" */
Expr *sqliteExprFunction(ExprList *pList, Token *pToken){
ExprList *pList = pExpr->pList;
ExprList *pList = p->pList;
ExprList *pList, /* List of values to be inserted */
%type selcollist {ExprList*}
%type sclp {ExprList*}
%type orderby_opt {ExprList*}
%type sortlist {ExprList*}
%type groupby_opt {ExprList*}
%type setlist {ExprList*}
%type itemlist {ExprList*}
ExprList *pList = sqliteExprListAppend(0, Y, 0);
ExprList *pList = sqliteExprListAppend(0, Y, 0);
ExprList *pList = sqliteExprListAppend(0, X, 0);
ExprList *pList = sqliteExprListAppend(0, X, 0);
%type case_exprlist {ExprList*}
%type exprlist {ExprList*}
ExprList *pOrderBy, /* The ORDER BY values to match against columns */
ExprList *pEList;
static void multiSelectSortOrder(Select *p, ExprList *pOrderBy){
ExprList *pEList;
ExprList *pOrderBy; /* The ORDER BY clause for the right SELECT */
static void substExprList(ExprList*,int,ExprList*); /* Forward Decl */
static void substExpr(Expr *pExpr, int iTable, ExprList *pEList){
substExprList(ExprList *pList, int iTable, ExprList *pEList){
ExprList *pList; /* The result set of the outer query */
ExprList *pEList, *pList, eList;
ExprList *pEList; /* List of columns to extract. */
ExprList *pOrderBy; /* The ORDER BY clause. May be NULL */
ExprList *pGroupBy; /* The GROUP BY clause. May be NULL */
ExprList *pEList, /* which columns to include in the result */
ExprList *pGroupBy, /* the GROUP BY clause */
ExprList *pOrderBy, /* the ORDER BY clause */
static void pushOntoSorter(Parse *pParse, Vdbe *v, ExprList *pOrderBy){
void sqliteAddKeyType(Vdbe *v, ExprList *pEList){
ExprList *pEList, /* List of values being extracted */
ExprList *pOrderBy, /* If not NULL, sort results using this key */
ExprList *pEList /* Expressions defining the result set */
ExprList *pEList /* Expressions defining the result set */
ExprList *pEList;
ExprList *pEList;
ExprList *pNew = 0;
ExprList *pExprList; /* Valid for UPDATE statements and sometimes
Expr *sqliteExprFunction(ExprList*, Token*);
ExprList *sqliteExprListAppend(ExprList*,Expr*,Token*);
void sqliteExprListDelete(ExprList*);
void sqliteInsert(Parse*, SrcList*, ExprList*, Select*, IdList*, int);
void sqliteAddKeyType(Vdbe*, ExprList*);
Select *sqliteSelectNew(ExprList*,SrcList*,Expr*,ExprList*,Expr*,ExprList*,
void sqliteUpdate(Parse*, SrcList*, ExprList*, Expr*, int);
WhereInfo *sqliteWhereBegin(Parse*, SrcList*, Expr*, int, ExprList**);
int sqliteExprCodeExprList(Parse*, ExprList*, int);
int sqliteExprResolveIds(Parse*, SrcList*, ExprList*, Expr*);
ExprList *sqliteExprListDup(ExprList*);
int sqliteTriggersExist(Parse* , Trigger* , int , int , int, ExprList*);
int sqliteCodeRowTrigger(Parse*, int, ExprList*, int, Table *, int, int,
void sqliteViewTriggers(Parse*, Table*, Expr*, int, ExprList*);
TriggerStep *sqliteTriggerInsertStep(Token*, IdList*, ExprList*, Select*, int);
TriggerStep *sqliteTriggerUpdateStep(Token*, ExprList*, Expr*, int);
int sqliteFixExprList(DbFixer*, ExprList*);
typedef struct ExprList ExprList;
ExprList *pList; /* A list of expressions used as function arguments
ExprList *pEList; /* The fields of the result */
ExprList *pGroupBy; /* The GROUP BY clause */
ExprList *pOrderBy; /* The ORDER BY clause */
ExprList *pNew = sqliteExprListDup(p->pExprList);
ExprList *pEList, /* The VALUE clause: a list of values to be inserted */
ExprList *pEList, /* The SET clause: list of column and new values */
static int checkColumnOverLap(IdList *pIdList, ExprList *pEList){
ExprList *pChanges /* Columns that change in an UPDATE statement */
ExprList *pChanges, /* Changes list for any UPDATE OF triggers */
ExprList *pChanges, /* Things to be changed */
ExprList *pOrderBy, /* The ORDER BY clause */
ExprList **ppOrderBy /* An ORDER BY clause, or NULL */