Re: Do we force dependency?

From: "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Do we force dependency?
Date: 2005-06-06 03:38:20
Message-ID: d80gjj$1td1$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes
>
> That should be impossible because drop/create take out locks at the
> table level. Can you provide a reproducible test case?
>

To reproduce it:
Concurrently execute the following sql script serveral times:
("without oids","tablespace testsp" should be optional)

---

drop table T_ST;
drop table T_IT;
drop table T_DS;
drop table T_WR;

CREATE TABLE T_WR (
col1 int not NULL,
primary key(col1))
without oids tablespace testsp
;

CREATE TABLE T_DS (
col1 int not NULL,
col2 int not NULL,
primary key(col1, col2),
foreign key (col1) references T_WR(col1))
without oids tablespace testsp
;

CREATE TABLE T_IT (
col1 int not NULL,
primary key(col1))
without oids tablespace testsp
;

CREATE TABLE T_ST (
col1 int not null,
col2 int not null,
other_cols char (50) NULL ,
primary key(col1, col2),
foreign key(col1) references T_WR(col1),
foreign key(col2) references T_IT(col1))
without oids tablespace testsp
;

---

Actually I reproduced it at least 3 times on Pg8.0.1.

> If you can't make it happen easily by hand, one possible way to proceed
> is to run one or both sessions under gdb and set breakpoints at key
> places like recursiveDeletion(). If there is a timing issue it should
> be possible to expose it by delaying a process at the right places in
> this way.
>

Ok, I will do this and try to locate the exact place.

Regards,
Qingqing

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Neil Conway 2005-06-06 03:57:12 Re: lastval()
Previous Message Abhijit Menon-Sen 2005-06-06 03:35:58 Re: lastval()