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

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [PATCHES] Proposed patch for sequence-renaming problems
Дата
Msg-id 200509281758.j8SHwRH25084@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: [PATCHES] Proposed patch for sequence-renaming problems  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [PATCHES] Proposed patch for sequence-renaming problems  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.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@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [PATCHES] Proposed patch for sequence-renaming problems
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: effective SELECT from child tables