"Ramanujam H S Iyengar" <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster