On Mon, 6 May 2002, Nigel J. Andrews wrote:
>
> On Mon, 6 May 2002, Tom Lane wrote:
>
> > "Nigel J. Andrews" <nandrews@investsystems.co.uk> writes:
> > > Coming back to this subject if I may but only briefly, I hope. How
> > > about making a slight change to current_schemas() and including an
> > > optional argument such that something like:
> > > current_schemas(1)
> > > returns the complete list of schemas in the search path including the
> > > implicit temporary space and the pg_catalog (if not already listed
> > > obviously), while current_schemas() and current_schemas(0) behave as
> > > now.
> >
> > I don't really care for that syntax, but certainly we could talk about
> > providing a version of current_schemas that tells the Whole Truth.
Wouldn't such a function just be based on backend/catalog/namespace.c:RelnameGetRelid(const char *relname) ?
> > I'm suspecting that what we really need is some kind of
> > "is_visible_table()" test function, and then you'd do
> > select * from pg_class where is_visible_table(oid);
> > At least I've not been able to think of a better idea than that.
>
> [snip]
For this if we look once again at RelnameGetRelid(relname) in
backend/catalog/namespace.c wouldn't this is_visible() function simply be a
wrapper around it? Obviously the parameter [probably] wouldn't be an OID but
rather a name.
If I knew which file would be most appropiate for this (utils/adt/name.c?) I'd
have had a go at making a patch.
--
Nigel J. Andrews
Director
---
Logictree Systems Limited
Computer Consultants