Re: Is there anyway to get list of table name, before raw parser is analyze?

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: Is there anyway to get list of table name, before raw parser is analyze?
Дата
Msg-id 4C0252C0.9050103@dunslane.net
обсуждение исходный текст
Ответ на Re: Is there anyway to get list of table name, before raw parser is analyze?  (Mohammad Heykal Abdillah <heykal.abdillah@gmail.com>)
Ответы Re: Is there anyway to get list of table name, before raw parser is analyze?  (Mohammad Heykal Abdillah <heykal.abdillah@gmail.com>)
Список pgsql-hackers

Mohammad Heykal Abdillah wrote:
> On Min, 2010-05-30 at 00:44 -0400, Andrew Dunstan wrote: 
>   
>> Mohammad Heykal Abdillah wrote:
>>     
>>> Hi all,
>>>
>>> Right now i am trying to understand how SQL parser is work. 
>>>
>>> My question is there anyway to get list of table name and its atribut
>>> before raw parser is analyze?
>>>
>>> Because i like to understand how PostgreSQL "break-down" the asterik at
>>> target list, specialy in "natural join" case where PostgreSQL can give
>>> query result that have unabigous attribut and match the right join key.
>>>
>>>
>>>   
>>>       
>> AIUI, expanding '*' is not done in the parser. The parser just makes an 
>> A_star node.
>>
>> See src/backend/gram.y for the parser spec.
>>
>> Maybe you need to explain what exactly you're trying to do.
>>
>> cheers
>>
>> andrew
>>     
>
> Yes that i know, expanding '*' is done in analyzer part. I am try to do
> is, move the expanding process to "before" raw_parser that produce by
> gram.y is processed by analyzer. Like this :
>
> sql query -> gram.y -> raw_parse_tree -> (expand the '*') -> analyze
>
> In this way analyzer part only receiving the expanded '*' parse tree
> they wont expand the '*' again. I am aksing this because i didnt know
> how to (analyzer) scan database so it can return list of attribut from
> table. I have read the source code, and try manualy to replicate the
> process (from what i got is the RTE function) with no result.
>
>   

Ok, but why? What are you trying to achieve?


cheers

andrew


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: pg_trgm
Следующее
От: Mohammad Heykal Abdillah
Дата:
Сообщение: Re: Is there anyway to get list of table name, before raw parser is analyze?