Hello,
Sorry for the previous confusing mail ..

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)

On Wednesday 10 March 2004 09:58 am, Ramanujam H S Iyengar wrote:
>Hello,
>
>How can i get the name of a relation from its Oid ?? I have seen some
>functions in utils/cache/relcache.h like RelationIdGetRelation - which
>gives Relation Node from Oid RelationSysNameGetRelation - which gives
>Relation node for only the System names.
>
>Can anyone please tell me how to get Relation node from relation name ???
>

Won't you have to go get the data from the database for this? I mean
actually execute the query:

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. I think we must have some 
functions like the ones i have mentioned for the purpose. isin't it ??

regards,
-Ramu

>select relname from pg_class where oid = 1234;

>--
>Jonathan Gardner
>jgardner ( at ) jonathangardner ( dot ) net

_________________________________________________________________
Need a job? Get head-hunted by the best. 
http://www.naukri.com/msn/index.php?source=hotmail  Post your CV free!


Thu, 11 Mar 2004 10:49:10 +0530
"Ramanujam H S Iyengar" <hals_ramu@hotmail.com>
Re: How to get RelationName ??
"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

Thu, 11 Mar 2004 01:04:49 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: How to get RelationName ?? 