Concurrent insert question

From: u15074 <u15074(at)hs-harz(dot)de>
To: pgsql-general(at)postgresql(dot)org
Subject: Concurrent insert question
Date: 2003-03-24 08:38:06
Message-ID: 1048495086.3e7ec3ee95a05@webmail.hs-harz.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I have the following table:

create table test(
key int8,
length int4,
level int4,
pu oid,
primary key(key));

Now I have two concurrent transactions:

At the time the transactions start, there does't exist a row with value 1 for
the key column.

time transactionA:
1 begin;
2 set transaction level serializable;
3 insert into test(1,..,..,..);
4
5 commit;

time transactionB:
1 begin;
2 set transaction level serializable;
3
4 insert into test(1,..,..,..);
5
6 commit;

So my question is, what happens with the insert of transactionB?
Since a row with primary key value 1 doesn't exist within transactionB when
executing the insert-statement, it shouldn't be a problem within the
transaction.
But if so, how will the constraint be fullfilled? Will transactionB be aborted?
Is there a difference running in transaction level serializable or readcommited?

-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Dekkers Intermediair 2003-03-24 09:10:18 Re: postgreSQL as MSSQL2000 server?
Previous Message shreedhar 2003-03-24 07:24:06 Re: Avoiding duplications in tables