On 3/27/07, Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
"Matthijs Melissen" <melissen@xxxxxxxxxx> 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.
Thanks,
Pavan
--
EnterpriseDB http://www.enterprisedb.com