Re: RFD: schemas and different kinds of Postgres objects

Hiroshi Inoue <inoue@tpf.co.jp>

From: Hiroshi Inoue <Inoue@tpf.co.jp>
To: Peter Eisentraut <peter_e@gmx.net>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: Bill Studenmund <wrstuden@netbsd.org>, Stephan Szabo <sszabo@megazone23.bigpanda.com>, PostgreSQL Development <pgsql-hackers@postgreSQL.org>, Fernando Nasser <fnasser@redhat.com>
Date: 2002-01-28T01:33:05Z
Lists: pgsql-hackers
Is *the path* below the same as "search path* in other
postings about this thread ?

Maybe Peter's posting isn't the one exactly what I have to
ask but there are too many postings for me to follow.

regards,
Hiroshi Inoue

Peter Eisentraut wrote:
> 
> Bill Studenmund writes:
> 
> > Does SQL'99 say anything about this?
> 
> Yes, though, as usual, you have to twist your brain a little to understand
> it.  My understanding is that for a function call of the form "foo(a, b)"
> it goes like this:
> 
> 1. Find all functions named "foo" in the current database.  This is the
> set of "possibly candidate routines".
> 
> 2. Drop all routines that you do not have EXECUTE privilege for.  This is
> the set of "executable routines".
> 
> 3. Drop all routines that do not have compatible parameter lists.  This is
> the set of "invocable routines".
> 
> 4. Drop all routines whose schema is not in the path.  This is the set of
> "candidate routines".
> 
> 5. If you have more than one routine left, eliminate some routines
> according to type precedence rules.  (We do some form of this, SQL99
> specifies something different.)  This yields the set of "candidate subject
> routines".
> 
> 6. Choose the routine whose schema is earliest in the path as the "subject
> routine".
> 
> Execute the subject routine.  Phew!
> 
> This doesn't look glaringly wrong to me, so maybe you want to consider it.
> Please note step 2.
> 
> --
> Peter Eisentraut   peter_e@gmx.net