>>"Ramanujam H S Iyengar" <hals_ramu ( at ) hotmail ( dot ) 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.
Thanks a lot,
The function RelnameGetRelid(const char *) is working for me !!
>>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
Iam trying to put in some other module of optimizer that we have developed,
which works on relation name and gives the optimal plan. Iam trying to
convert the plans given by this(our) optimizer to the
Plan structure of PostgreSQL. So finally i have to convert the Relation
names back to their relOids.
All this in the process of using the execution engine of Postgres for our
optimizer module !! :-)
Thats why i was asking !!
Thanks
-Ramu
_________________________________________________________________
Take a loan. Win great prizes! Handsome prizes to be won! Take a loan & win
TV, Fridge & many more prizes ! http://go.msnserver.com/IN/44044.asp