Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-jdbc by date

Next:From: Heikki LinnakangasDate: 2008-02-20 13:14:00
Subject: Re: Retrieving last InsertedID : INSERT... RETURNING safe ?
Previous:From: Heikki LinnakangasDate: 2008-02-20 12:27:34
Subject: Re: Retrieving last InsertedID : INSERT... RETURNING safe ?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group