Re: Fetching generated keys
От | Mark Lewis |
---|---|
Тема | Re: Fetching generated keys |
Дата | |
Msg-id | 1173133716.16656.1017.camel@archimedes обсуждение исходный текст |
Ответ на | Re: Fetching generated keys ("Mike Clements" <mclement@progress.com>) |
Ответы |
Re: Fetching generated keys
|
Список | pgsql-jdbc |
On Mon, 2007-03-05 at 17:19 -0500, Mike Clements wrote: ... > The FAQ you posted suggests that "currval" uses a level of isolation > that is more strict than the default "read committed". If so, setting > isolation level to serializable would be unnecessary. Is that true? Or > should I do it just to be safe? I'd hate to do it if unnecessary due to > the performance and locking implications. Yes, currval definitely returns the last value returned by the sequence in the current transaction. Anything done in other transactions is ignored. Just for kicks, I did a simple test with two psql sessions to demonstrate: psql1: BEGIN TRANSACTION; psql1: SELECT nextval('my_seq'); -- returns 4988 psql2: BEGIN TRANSACTION; psql2: SELECT nextval('my_seq'); -- returns 4989 psql1: SELECT currval('my_seq'); -- returns 4988 (also tested with psql2 committing the transaction before psql1 reads currval. Made no difference.) -- Mark Lewis
В списке pgsql-jdbc по дате отправления: