Re: RFD: schemas and different kinds of Postgres objects
От | Bill Studenmund |
---|---|
Тема | Re: RFD: schemas and different kinds of Postgres objects |
Дата | |
Msg-id | Pine.NEB.4.33.0201241147131.9384-100000@vespasia.home-net.internetconnect.net обсуждение исходный текст |
Ответ на | Re: RFD: schemas and different kinds of Postgres objects (Peter Eisentraut <peter_e@gmx.net>) |
Список | pgsql-hackers |
On Thu, 24 Jan 2002, 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. Indeed. I find the spec makes the most sense after you 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! Wow. Thanks for diging this out. > This doesn't look glaringly wrong to me, so maybe you want to consider it. > Please note step 2. It looks fine, and is probably what we should do. Well, I'd do things in a different order (look only in in-path schemas first for instance), but that's just trying to optimize the query. :-) How different are the type coercion rules? Take care, Bill
В списке pgsql-hackers по дате отправления: