Was the function doing INSERT operation was successful? I suspect may be INSERT 
function has failed and hence INSERT got ABORTED.
Also you can try to commit whole transaction and see if you are able to find 
the new id (This will prove that whether really new id was inserted or not).

Thanks and Regards,
Kumar Rajeev Rastogi
From: pgsql-general-ow...@postgresql.org 
[mailto:pgsql-general-ow...@postgresql.org] On Behalf Of Susan Cassidy
Sent: 17 April 2014 05:36
To: Steven Schlansker
Cc: Tom Lane; pgsql-general@postgresql.org
Subject: Re: [GENERAL] any way for a transaction to "see" inserts done earlier 
in the transaction?

It is a fairly large and complex Perl program, so no, not really.
I do an insert via a function, which returns the new id, then later I try to 
SELECT on that id, and it doesn't find it.
Could it be because the insert is done inside a function?
Susan

On Wed, Apr 16, 2014 at 4:58 PM, Steven Schlansker 
<ste...@likeness.com<mailto:ste...@likeness.com>> wrote:


>> On Wed, Apr 16, 2014 at 4:31 PM, Tom Lane 
>> <t...@sss.pgh.pa.us<mailto:t...@sss.pgh.pa.us>> wrote:
>> Susan Cassidy 
>> <susan.cass...@decisionsciencescorp.com<mailto:susan.cass...@decisionsciencescorp.com>>
>>  writes:
>> > Is there any way to let a transaction "see" the inserts that were done
>> > earlier in the transaction?
>>
>> It works that way automatically, as long as you're talking about separate
>> statements within one transaction.
>>
>>                         regards, tom lane

> On Apr 16, 2014, at 4:53 PM, Susan Cassidy 
> <susan.cass...@decisionsciencescorp.com<mailto:susan.cass...@decisionsciencescorp.com>>
>  wrote:
> Well, it isn't working for me right now.  It can't "see" a row that was 
> inserted earlier in the transaction.  It is a new primary key, and when I 
> SELECT it, it isn't found.
>

Can you share the code that does not work with us?  Preferably as a small 
self-contained example.

Reply via email to