Re: Strange result using transactions - Mailing list pgsql-general

From Alban Hertroys
Subject Re: Strange result using transactions
Date
Msg-id 4608EF14.8000706@magproductions.nl
Whole thread Raw
In response to Re: Strange result using transactions  ("Pavan Deolasee" <pavan.deolasee@gmail.com>)
List pgsql-general
Pavan Deolasee wrote:
> On 3/27/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>
>> "Matthijs Melissen" <melissen@phil.uu.nl> writes:
>> > I am executing the following queries (id has a unique key):
>> > 1) begin;
>> > 1) delete from forum where id = 20;
>> > 1) insert into forum (id, name) values (20, 'test');
>> > 2) delete from forum where id = 20;
>> > 1) commit;
>>
>> > The problem is that process 2 gets the message 'DELETE 0'. I would
>> expect
>> > him to get the message 'DELETE 1'.
>>
>> Why do you find that strange?  Process 1 hasn't committed its insert yet.
>>
>>
> I think what he is saying that *after* txn 1 commits, txn 2 does not see
> the
> record inserted by txn1. Isn't that a fair point ? I mean txn 2 can see the
> DELETE operation of txn 1, but can not see the INSERT operation of the
> same transaction.

Not necessarily so. I'd expect only to see a successful delete in txn 2
if a record with id = 20 existed prior to the beginning of txn 1. If
that wasn't the case, then there's nothing to delete in txn 2.

--
Alban Hertroys
alban@magproductions.nl

magproductions b.v.

T: ++31(0)534346874
F: ++31(0)534346876
M:
I: www.magproductions.nl
A: Postbus 416
   7500 AK Enschede

// Integrate Your World //

pgsql-general by date:

Previous
From: "Dmitry Koterov"
Date:
Subject: Re: Temporarily disable all table indices
Next
From: "Matthijs Melissen"
Date:
Subject: Re: Strange result using transactions