Re: Code questions
От | Gavin Sherry |
---|---|
Тема | Re: Code questions |
Дата | |
Msg-id | Pine.LNX.4.21.0206231842110.29067-100000@linuxworld.com.au обсуждение исходный текст |
Ответ на | Code questions ("Christopher Kings-Lynne" <chriskl@familyhealth.com.au>) |
Список | pgsql-hackers |
On Sun, 23 Jun 2002, Christopher Kings-Lynne wrote: > Hi All, > > Whereabouts in the code is the '*' expanded into the list of valid columns See the rule 'target_el' in gram.y. The SelectStmt node is processed further down the parser in analyze.c: see transformStmt(), transformSelectStmt() and transformTargetList(). > and also where are the columns specified in the select arguments (or > whereever) checked for validity? This is pretty easy to discover by working backward from the elog(ERROR) produced when you select a non-existent attribute from a relation: ERROR: Attribute 'nonexistent' not found This is generated by transformIdent(), called from transformExpr, called from transformTargetEntry. The latter is called by transformTargetList() when it the attribute is not of the form '*' or 'relation.*' or when we don't know if the attribute is actually an attribute. > Chris Gavin
В списке pgsql-hackers по дате отправления: