Re: currval() race condition on server? - Mailing list pgsql-jdbc

From Tom Lane
Subject Re: currval() race condition on server?
Date
Msg-id 8427.1161699501@sss.pgh.pa.us
Whole thread Raw
In response to Re: currval() race condition on server?  (Adriaan Joubert <a.joubert@albourne.com>)
Responses Re: currval() race condition on server?  (Dave Cramer <pg@fastcrypt.com>)
List pgsql-jdbc
Adriaan Joubert <a.joubert@albourne.com> writes:
> It feels an awful lot like a timing issue where the sequence
> number is retrieved, but there is a delay until currval can use it. I'm
> not sure how currval works.

There is no "timing issue" in currval --- the server is single-threaded
and it's simply not possible that currval wouldn't be aware of a
previous nextval.

The theory that sounds best to me is the one someone already mentioned
about your trigger having a code path that doesn't execute nextval.
Another straw to grasp at is connection pooling: are you using it,
if so is it conceivable that the SELECT is being issued on a different
connection than the UPDATE?

            regards, tom lane

pgsql-jdbc by date:

Previous
From: Dave Cramer
Date:
Subject: Re: currval() race condition on server?
Next
From: Dave Cramer
Date:
Subject: Re: currval() race condition on server?