Re: How to get RelationName ??

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: How to get RelationName ??
Дата
Msg-id 16367.1078985089@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: How to get RelationName ??  ("Ramanujam H S Iyengar" <hals_ramu@hotmail.com>)
Список pgsql-hackers
"Ramanujam H S Iyengar" <hals_ramu@hotmail.com> writes:
> iam in need of a function through which i can get a Relation Node given its 
> name ..
> precisely the same one equivalent to " RelationSysNameGetRelation " .. which 
> works for all types of relations (system and user tables)

The reason RelationSysNameGetRelation only works for system relations is
that it assumes the schema name is "pg_catalog".  For non-system
relations you cannot do a lookup based only on relation name, because
there's no certainty that the result is unique.

There are some functions in catalog/namespace.c that can do lookup of an
unqualified name relative to the current schema search path, if that's
what you want.

> Iam trying to test for some patch in the code of the Optimizer(planner) and 
> so I need some C functions, which does the job.

The optimizer has no need, ever, to find a relation by name; all it ever
sees are predigested relation OIDs.  So you are not making a lot of
sense here.  You certainly cannot assume that a search-path lookup is
appropriate for a relation that the optimizer is dealing with.
        regards, tom lane


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

Предыдущее
От: Neil Conway
Дата:
Сообщение: Re: unsafe floats
Следующее
От: Kris Jurka
Дата:
Сообщение: Re: grants