Re: NEXT VALUE FOR...

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: NEXT VALUE FOR...
Дата
Msg-id 14790.1083955136@sss.pgh.pa.us
обсуждение исходный текст
Ответ на NEXT VALUE FOR...  (Rod Taylor <pg@rbt.ca>)
Ответы Re: NEXT VALUE FOR...  (Rod Taylor <pg@rbt.ca>)
Список pgsql-patches
Rod Taylor <pg@rbt.ca> writes:
> NEXT VALUE FOR and CURRENT VALUE FOR where CURRENT is an unreserved
> keyword and VALUE is not reserved in any way (ident with comparison to
> "value").

I see one pretty big problem with this: the SQL2003 spec says clearly
that multiple occurrences of NEXT VALUE FOR should all generate the same
value within a particular row.  (See, eg, last sentence of 4.21.2 or the
detailed rules in 6.13.  The motivation is analogous to the behavior of
current_timestamp I suppose.)  I think it's a bad idea to use the spec's
syntax to represent a non-spec-compliant behavior, which is what this
patch would provide, because that would foreclose doing the right thing
later on.

Offhand I see no simple way to do what the spec asks for within Postgres
:-( but that doesn't mean we should ignore the requirement.

> CURRENT VALUE FOR is an extension of the spec.

If it's not required by the spec, why bother?  Since currval is
nonstandard anyway it might as well use a less special-purpose,
more extensible syntax.  I would still like to do the Oracle-like
nextval(seqname) idea sometime.

            regards, tom lane

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

Предыдущее
От: "Hebert, Caroline"
Дата:
Сообщение: Bug PostGreSQL 7.4.2
Следующее
От: Rod Taylor
Дата:
Сообщение: Re: NEXT VALUE FOR...