Go to the source code of this file.
Functions | |
static void | resolveAlias (Parse *pParse, ExprList *pEList, int iCol, Expr *pExpr, const char *zType) |
static int | lookupName (Parse *pParse, Token *pDbToken, Token *pTableToken, Token *pColumnToken, NameContext *pNC, Expr *pExpr) |
static int | resolveExprStep (Walker *pWalker, Expr *pExpr) |
static int | resolveAsName (Parse *pParse, ExprList *pEList, Expr *pE) |
static int | resolveOrderByTermToExprList (Parse *pParse, Select *pSelect, Expr *pE) |
static void | resolveOutOfRangeError (Parse *pParse, const char *zType, int i, int mx) |
static int | resolveCompoundOrderBy (Parse *pParse, Select *pSelect) |
int | sqlite3ResolveOrderGroupBy (Parse *pParse, Select *pSelect, ExprList *pOrderBy, const char *zType) |
static int | resolveOrderGroupBy (NameContext *pNC, Select *pSelect, ExprList *pOrderBy, const char *zType) |
static int | resolveSelectStep (Walker *pWalker, Select *p) |
int | sqlite3ResolveExprNames (NameContext *pNC, Expr *pExpr) |
void | sqlite3ResolveSelectNames (Parse *pParse, Select *p, NameContext *pOuterNC) |
static int lookupName | ( | Parse * | pParse, | |
Token * | pDbToken, | |||
Token * | pTableToken, | |||
Token * | pColumnToken, | |||
NameContext * | pNC, | |||
Expr * | pExpr | |||
) | [static] |
Definition at line 112 of file resolve.c.
References ExprList::a, SrcList::a, Table::aCol, sqlite3::aDb, Expr::affinity, NameContext::allowAgg, Parse::db, db, EP_Agg, ExprHasProperty, sqlite3PrngType::i, Expr::iColumn, Table::iPKey, Expr::iTable, sqlite3PrngType::j, JT_NATURAL, sqlite3::mallocFailed, Table::nCol, NameContext::nErr, TriggerStack::newColMask, TriggerStack::newIdx, ExprList::nExpr, NameContext::nRef, TriggerStack::oldColMask, TriggerStack::oldIdx, Expr::op, NameContext::pEList, ExprList::ExprList_item::pExpr, Expr::pLeft, Expr::pList, NameContext::pNext, Expr::pRight, Table::pSchema, Expr::pSelect, NameContext::pSrcList, TriggerStack::pTab, Expr::pTab, resolveAlias(), sqlite3AuthRead(), sqlite3DbFree(), sqlite3ErrorMsg(), sqlite3ExprDelete(), sqlite3IsRowid(), sqlite3NameFromToken(), sqlite3SchemaToIndex(), sqlite3StrICmp(), SQLITE_AFF_INTEGER, testcase, TK_COLUMN, TK_STRING, Parse::trigStack, Token::z, ExprList::ExprList_item::zName, Column::zName, Db::zName, and Table::zName.
Referenced by resolveExprStep().
static void resolveAlias | ( | Parse * | pParse, | |
ExprList * | pEList, | |||
int | iCol, | |||
Expr * | pExpr, | |||
const char * | zType | |||
) | [static] |
Definition at line 50 of file resolve.c.
References ExprList::a, Parse::db, db, EP_ExpCollate, EP_Resolved, Expr::flags, ExprList::ExprList_item::iAlias, Expr::iTable, Parse::nAlias, Expr::op, Expr::pColl, ExprList::ExprList_item::pExpr, sqlite3DbFree(), sqlite3ExprClear(), sqlite3ExprDup(), sqlite3PExpr(), TK_AS, and TK_COLUMN.
Referenced by lookupName(), and sqlite3ResolveOrderGroupBy().
Definition at line 583 of file resolve.c.
References ExprList::a, Parse::db, db, ExprList::nExpr, Expr::op, sqlite3DbFree(), sqlite3NameFromToken(), sqlite3StrICmp(), TK_ID, TK_STRING, Expr::token, Token::z, and ExprList::ExprList_item::zName.
Referenced by resolveCompoundOrderBy(), and resolveOrderGroupBy().
Definition at line 694 of file resolve.c.
References ExprList::a, sqlite3::aLimit, Parse::db, db, ExprList::ExprList_item::done, EP_ExpCollate, EP_IntValue, Expr::flags, Expr::iTable, sqlite3::mallocFailed, ExprList::nExpr, Expr::pColl, Select::pEList, Select::pNext, Select::pOrderBy, Select::pPrior, resolveAsName(), resolveOrderByTermToExprList(), resolveOutOfRangeError(), sqlite3ErrorMsg(), sqlite3Expr(), sqlite3ExprDelete(), sqlite3ExprDup(), sqlite3ExprIsInteger(), SQLITE_LIMIT_COLUMN, and TK_INTEGER.
Referenced by resolveSelectStep().
Definition at line 400 of file resolve.c.
References SrcList::a, Expr::affinity, NameContext::allowAgg, Parse::db, ENC, EP_Resolved, EP_VarSelect, ExprHasAnyProperty, ExprSetProperty, NameContext::hasAgg, Expr::iColumn, SrcList::SrcList_item::iCursor, NameContext::isCheck, Expr::iTable, lookupName(), sqlite3::mallocFailed, Token::n, SrcList::nAlloc, Parse::nErr, NameContext::nErr, ExprList::nExpr, NameContext::nRef, SrcList::nSrc, Parse::nTab, Expr::op, Expr::pLeft, Expr::pList, Walker::pNC, Walker::pParse, NameContext::pParse, Expr::pRight, Expr::pSelect, NameContext::pSrcList, Expr::pTab, sqlite3AuthCheck(), sqlite3ErrorMsg(), sqlite3FindFunction(), sqlite3WalkExprList(), sqlite3WalkSelect(), SQLITE_AFF_INTEGER, SQLITE_DENY, SQLITE_FUNCTION, SQLITE_OK, TK_AGG_FUNCTION, TK_COLUMN, TK_CONST_FUNC, TK_DOT, TK_EXISTS, TK_FUNCTION, TK_ID, TK_IN, TK_NULL, TK_ROW, TK_SELECT, TK_VARIABLE, Expr::token, Walker::u, WRC_Abort, WRC_Continue, WRC_Prune, FuncDef::xFunc, Token::z, and FuncDef::zName.
Referenced by sqlite3ResolveExprNames(), and sqlite3ResolveSelectNames().
Definition at line 626 of file resolve.c.
References ExprList::a, NameContext::allowAgg, NameContext::nErr, ExprList::nExpr, NameContext::pEList, Select::pEList, ExprList::ExprList_item::pExpr, NameContext::pParse, Select::pSrc, NameContext::pSrcList, sqlite3ErrorClear(), sqlite3ExprCompare(), sqlite3ExprIsInteger(), and sqlite3ResolveExprNames().
Referenced by resolveCompoundOrderBy().
static int resolveOrderGroupBy | ( | NameContext * | pNC, | |
Select * | pSelect, | |||
ExprList * | pOrderBy, | |||
const char * | zType | |||
) | [static] |
Definition at line 837 of file resolve.c.
References ExprList::a, ExprList::nExpr, Select::pEList, NameContext::pParse, resolveAsName(), resolveOutOfRangeError(), sqlite3ExprIsInteger(), sqlite3ResolveExprNames(), and sqlite3ResolveOrderGroupBy().
Referenced by resolveSelectStep().
static void resolveOutOfRangeError | ( | Parse * | pParse, | |
const char * | zType, | |||
int | i, | |||
int | mx | |||
) | [static] |
Definition at line 668 of file resolve.c.
References sqlite3ErrorMsg().
Referenced by resolveCompoundOrderBy(), resolveOrderGroupBy(), and sqlite3ResolveOrderGroupBy().
Definition at line 890 of file resolve.c.
References SrcList::a, ExprList::a, NameContext::allowAgg, Parse::db, db, EP_Agg, ExprHasProperty, NameContext::hasAgg, sqlite3::mallocFailed, Parse::nErr, ExprList::nExpr, SrcList::nSrc, NameContext::pEList, Select::pEList, ExprList::ExprList_item::pExpr, Select::pGroupBy, Select::pHaving, Select::pLimit, Walker::pNC, NameContext::pNext, Select::pOffset, Select::pOrderBy, NameContext::pParse, Walker::pParse, Select::pPrior, Select::pSrc, NameContext::pSrcList, Select::pWhere, resolveCompoundOrderBy(), resolveOrderGroupBy(), Select::selFlags, SF_Aggregate, SF_Expanded, SF_Resolved, sqlite3ErrorMsg(), sqlite3ResolveExprNames(), sqlite3ResolveSelectNames(), sqlite3SelectPrep(), Walker::u, WRC_Abort, WRC_Prune, and Parse::zAuthContext.
Referenced by sqlite3ResolveExprNames(), and sqlite3ResolveSelectNames().
int sqlite3ResolveExprNames | ( | NameContext * | pNC, | |
Expr * | pExpr | |||
) |
Definition at line 1105 of file resolve.c.
References EP_Agg, EP_Error, ExprHasProperty, ExprSetProperty, NameContext::hasAgg, NameContext::nErr, Parse::nHeight, Walker::pNC, Walker::pParse, NameContext::pParse, resolveExprStep(), resolveSelectStep(), sqlite3ExprCheckHeight, sqlite3WalkExpr(), Walker::u, Walker::xExprCallback, and Walker::xSelectCallback.
Referenced by resolveAttachExpr(), resolveOrderByTermToExprList(), resolveOrderGroupBy(), resolveSelectStep(), sqlite3CodeRowTrigger(), sqlite3DeleteFrom(), sqlite3EndTable(), sqlite3Insert(), and sqlite3Update().
int sqlite3ResolveOrderGroupBy | ( | Parse * | pParse, | |
Select * | pSelect, | |||
ExprList * | pOrderBy, | |||
const char * | zType | |||
) |
Definition at line 787 of file resolve.c.
References ExprList::a, sqlite3::aLimit, Parse::db, db, sqlite3::mallocFailed, ExprList::nExpr, Select::pEList, resolveAlias(), resolveOutOfRangeError(), sqlite3ErrorMsg(), and SQLITE_LIMIT_COLUMN.
Referenced by multiSelectOrderBy(), and resolveOrderGroupBy().
void sqlite3ResolveSelectNames | ( | Parse * | pParse, | |
Select * | p, | |||
NameContext * | pOuterNC | |||
) |
Definition at line 1156 of file resolve.c.
References Walker::pNC, Walker::pParse, resolveExprStep(), resolveSelectStep(), sqlite3WalkSelect(), Walker::u, Walker::xExprCallback, and Walker::xSelectCallback.
Referenced by resolveSelectStep(), and sqlite3SelectPrep().
ContextLogger2—ContextLogger2 Logger Daemon Internals—Generated on Mon May 2 13:50:01 2011 by Doxygen 1.6.1