Re: NEXT VALUE FOR sequence
От | Laurenz Albe |
---|---|
Тема | Re: NEXT VALUE FOR sequence |
Дата | |
Msg-id | 1519139397.2482.13.camel@cybertec.at обсуждение исходный текст |
Ответ на | Re: NEXT VALUE FOR sequence (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: NEXT VALUE FOR sequence
|
Список | pgsql-hackers |
Tom Lane wrote: > Laurenz Albe <laurenz.albe@cybertec.at> writes: > > The SQL standard has the expression "NEXT VALUE FOR asequence" to do > > what we traditionally do with "nextval('asequence')". > > This is an attempt to implement this on top of the recently introduced > > NextValueExpr node. > > This has been proposed repeatedly, and rejected repeatedly, because in > fact the standard's semantics for NEXT VALUE FOR are *not* like nextval(). > See SQL:2011 4.22.2 "Operations involving sequence generators": > > If there are multiple instances of <next value expression>s specifying > the same sequence generator within a single SQL-statement, all those > instances return the same value for a given row processed by that > SQL-statement. > > This is not terribly exact --- what is a "processed row" in a join query, > for instance? But it's certainly not supposed to act like independent > executions of nextval() or NextValueExpr would. Pending somebody doing > the legwork to produce something that at least arguably conforms to the > spec's semantics, we've left the syntax unimplemented. Would it be reasonable to say that any two NextValueExpr in the same target list are "in one row"? Yours, Laurenz Albe
В списке pgsql-hackers по дате отправления: