From: | Dave Cramer <pg(at)fastcrypt(dot)com> |
---|---|
To: | Paul Tomblin <ptomblin(at)gmail(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Retrieving last InsertedID : INSERT... RETURNING safe ? |
Date: | 2008-02-20 12:28:18 |
Message-ID: | 9096E930-A528-4AF7-92B9-6EB1A5A52F84@fastcrypt.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On 20-Feb-08, at 7:19 AM, Paul Tomblin wrote:
> Dave Cramer wrote:
>>> Well, that other solution is dangerous in case multiple inserts
>>> to that table are done concurrently; a quite common usage pattern
>>> with java web applications handling multiple HTTP requests with
>>> concurrent java threads..
>>>
>> No it is not dangerous. It is the right way to do it. There is
>> absolutely no danger in using currval in this manner.
>
> Unless you have autocommit on.
>
I was going to say there are absolutely no situations where this is
not true, however in your case autocommit or not it doesn't matter.
You have a single connection for the entire application and
asynchronous events using that connection. Autocommit or not it will
not work with currval.
In your case you must use nextval before doing the insert.
Dave
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2008-02-20 13:14:00 | Re: Retrieving last InsertedID : INSERT... RETURNING safe ? |
Previous Message | Heikki Linnakangas | 2008-02-20 12:27:34 | Re: Retrieving last InsertedID : INSERT... RETURNING safe ? |