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, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq