Re: any way for a transaction to "see" inserts done earlier in the transaction?

From: Rajeev rastogi <rajeev(dot)rastogi(at)huawei(dot)com>
To: Susan Cassidy <susan(dot)cassidy(at)decisionsciencescorp(dot)com>, Steven Schlansker <steven(at)likeness(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: any way for a transaction to "see" inserts done earlier in the transaction?
Date: 2014-04-21 03:45:11
Message-ID: BF2827DCCE55594C8D7A8F7FFD3AB7713DDE29AA@SZXEML508-MBX.china.huawei.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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-owner(at)postgresql(dot)org [mailto:pgsql-general-owner(at)postgresql(dot)org] On Behalf Of Susan Cassidy
Sent: 17 April 2014 05:36
To: Steven Schlansker
Cc: Tom Lane; pgsql-general(at)postgresql(dot)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 <steven(at)likeness(dot)com<mailto:steven(at)likeness(dot)com>> wrote:

>> On Wed, Apr 16, 2014 at 4:31 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us<mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us>> wrote:
>> Susan Cassidy <susan(dot)cassidy(at)decisionsciencescorp(dot)com<mailto:susan(dot)cassidy(at)decisionsciencescorp(dot)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(dot)cassidy(at)decisionsciencescorp(dot)com<mailto:susan(dot)cassidy(at)decisionsciencescorp(dot)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.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Torsten Förtsch 2014-04-21 11:03:47 pg_stat_replication.state: streaming/catchup
Previous Message Rajeev rastogi 2014-04-21 03:29:30 Re: Disable an index temporarily