Re: RFD: schemas and different kinds of Postgres objects - Mailing list pgsql-hackers

From Bill Studenmund
Subject Re: RFD: schemas and different kinds of Postgres objects
Date
Msg-id Pine.NEB.4.33.0201231535590.7050-100000@vespasia.home-net.internetconnect.net
Whole thread Raw
In response to Re: RFD: schemas and different kinds of Postgres objects  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Responses Re: RFD: schemas and different kinds of Postgres objects  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
List pgsql-hackers
On Wed, 23 Jan 2002, Stephan Szabo wrote:

> On Wed, 23 Jan 2002, Bill Studenmund wrote:
>
> > On Wed, 23 Jan 2002, Tom Lane wrote:
> >
> > There is a third behavior which is almost the first one. And it's the one
> > I use for function matching in the package diffs I made oh so long ago.
> > :-)
> >
> > You look in the first namespace for all candidates. If one matches, you
> > use it. If two or more match, you throw the error we throw now. If none
> > match, you move on to the next namespace and repeat the search there.
>
> That's even more strongly towards earlier namespaces than my suggestion.
> How do you define match?  If you allow coercions, then the
> plus(int8, int8) in my schema would be prefered over better (possibly
> exact) matches in the system schema which may not be what you want.

True. But:

1) How often are you going to make routines with names that duplicate
those in the system schema, when you don't want them to be used?

2) you can always explicitly refer to the system schema, so you can get
the routine you want if it's not the one you'll get by coercion.

3) We tested other (commercial) databases, and they have this behavior, so
it seems a reasonable thing to do.

4) It's simple and easy to understand.

Take care,

Bill



pgsql-hackers by date:

Previous
From: "Mikheev, Vadim"
Date:
Subject: Re: Savepoints
Next
From: Stephan Szabo
Date:
Subject: Re: RFD: schemas and different kinds of Postgres objects