Re: Schemas: status report, call for developers - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Schemas: status report, call for developers
Date
Msg-id 5801.1020699784@sss.pgh.pa.us
Whole thread Raw
In response to Re: Schemas: status report, call for developers  ("Nigel J. Andrews" <nandrews@investsystems.co.uk>)
Responses Re: Schemas: status report, call for developers  ("Nigel J. Andrews" <nandrews@investsystems.co.uk>)
List pgsql-hackers
"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.

> Having something like this would enable client's like PgAccess to
> determine the complete list of visible objects.

Well, no, it wouldn't.  Say there are multiple tables named foo in
different namespaces in your search path (eg, a temp table hiding a
permanent table of the same name).  A test like "where current_schemas
*= relnamespace" won't reflect this correctly.

I'm suspecting that what we really need is some kind of
"is_visible_table()" test function, and then you'd doselect * from pg_class where is_visible_table(oid);
At least I've not been able to think of a better idea than that.
        regards, tom lane


pgsql-hackers by date:

Previous
From: "Nigel J. Andrews"
Date:
Subject: Re: Schemas: status report, call for developers
Next
From: Joe Conway
Date:
Subject: Set Returning Functions (SRF) - request for patch review and comment