Re: Retrieving last InsertedID : INSERT... RETURNING safe ?

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

In response to

Responses

Browse pgsql-jdbc by date

  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 ?