Re: [PATCHES] Proposed patch for sequence-renaming problems

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCHES] Proposed patch for sequence-renaming problems
Date: 2005-09-28 17:58:27
Message-ID: 200509281758.j8SHwRH25084@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Tom Lane wrote:
> Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> > Tom Lane wrote:
> >> The more I think about it, the more I think that two sets of function
> >> names might not be such an awful idea. next_value(), curr_value(), and
> >> set_value() seem like they'd work well enough. Then we'd just say that
> >> nextval and friends are deprecated except when you need late binding,
> >> and we'd be done.
>
> > I don't like the val/value distinction (the added "ue" means what?).
> > Perhaps next_seq/curr_seq/set_seq would work more cleanly. I never
> > liked that the function names had no reference to "seq"uence in them.
>
> That doesn't really respond to the "means what?" question --- which of
> "nextval" and "next_seq" is the early binding form, and how do you
> remember? For that matter, how do you even remember that they're
> related? Still, I have no strong objection to those names, and am happy
> to go with them if that will resolve the discussion.
>
> > Didn't next_val() come from Oracle? Does it make sense to make new
> > non-Oracle compatible commands for this, especially since Oracle
> > probably does early binding? What would make more sense perhaps would
> > be for next_val to do early binding, and a new function do late binding,
> > perhaps next_val_str().
>
> We already have the function to do late binding, namely nextval(text).
> I see no percentage in inventing some random new name for a function
> that's been there forever --- unless the new name adheres to some
> standard, which these don't.

I am thinking we need to have nextval('') do early binding and have
nextval(''::text) (or some other name) do late binding. The fact is
that 99% of users would prefer early binding, is my guess.

Also, when there is no standard, Oracle is the standard, and for Oracle,
nextval is early binding.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2005-09-28 18:25:46 Re: effective SELECT from child tables
Previous Message Tom Lane 2005-09-28 17:49:05 Re: [PATCHES] Proposed patch for sequence-renaming problems

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2005-09-28 19:00:50 Re: [PATCHES] Proposed patch for sequence-renaming problems
Previous Message Tom Lane 2005-09-28 17:49:05 Re: [PATCHES] Proposed patch for sequence-renaming problems