Tom Lane wrote:
> Bruce Momjian <[email protected]> writes:
> > I am thinking we should hard-code something in the backend so if the
> > function oid is nextval/currval/setval, we strip off any text casting
> > internally.
>
> NO. No bloody way ... that is far dirtier than any other proposal
> that's been made in this thread. I don't even want to think about
> what strange corner-case semantics that might create.
Well, it would be
if ((oid == xxx || oid == yyy) && cast_exists)
remove cast;
Seems safe to me.
> >> So on the whole I like leaving nextval() as-is and introducing a
> >> separate function next_value(regclass).
>
> > I disagree. nextval() is too embedded in people's thinking to make them
> > change
>
> Why? And what's your evidence for this? You could equally well argue
> that the fact that nextval takes a text argument is too embedded to
> change.
99% of people using nextval think (or don't care) that it is early
binding. I see no reason to re-educate people just to keep nextval() as
late binding.
> > when we have the ability to have it do the _right_ _thing_,
>
> We have no ability to make it do what you think is the right thing,
> at least not without introducing kluges that are certain to come back
> to haunt us.
Well, then, let's leave it all for 8.2 where we can discuss/test and
come up with a plan.
--
Bruce Momjian | http://candle.pha.pa.us
[email protected] | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq