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 по дате отправления: