| From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
|---|---|
| To: | Laurenz Albe <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
| Cc: | pgsql-bugs(at)postgresql(dot)org |
| Subject: | Re: BUG #3833: Index remains when table is dropped |
| Date: | 2007-12-21 12:56:36 |
| Message-ID: | 20071221125636.GD6115@alvh.no-ip.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
Laurenz Albe wrote:
> Two concurrent sessions perform statements against one database. The
> sessions are named s1 and s2 in this example.
>
> s1=> CREATE TABLE x(i integer);
>
> s2=> BEGIN;
> s2=> CREATE UNIQUE INDEX x_pkey ON x(i);
>
> s1=> DROP TABLE x;
> (Session hangs)
>
> s2=> COMMIT;
>
> Now Session s1 will unblock and succeed in dropping the table. The index,
> however, remains in pg_class, pg_depend, and pg_index.
Hmm. So this is the bug that Tom mentioned on race conditions on
pg_depend. Interesting. I think the solution is to add more strict
locking when registering stuff in pg_depend, like the pg_shdepend code
does.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2007-12-21 14:39:34 | Re: BUG #3833: Index remains when table is dropped |
| Previous Message | Laurenz Albe | 2007-12-21 11:28:49 | BUG #3833: Index remains when table is dropped |