"Nigel J. Andrews" <[EMAIL PROTECTED]> 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 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.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to