Re: BUG #3692: Conflicting create table statements throw unexpected error

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Bill Moran" <wmoran(at)collaborativefusion(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #3692: Conflicting create table statements throw unexpected error
Date: 2007-10-22 21:44:59
Message-ID: 26493.1193089499@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

"Bill Moran" <wmoran(at)collaborativefusion(dot)com> writes:
> Issuing a statement like:
> CREATE TABLE table2 AS SELECT * FROM table1;
> simultaneously in two separate sessions should result in an error like
> "ERROR: relation "table2" already exists" (in one or the other of the
> sessions, depending on the exact timing of things).

This isn't really fixable, or at least the cure would be worse than the
disease. The "already exists" message is just a pre-check and it cannot
detect an uncommitted concurrent attempt to insert the same table name.
The place where the rubber really meets the road is during unique index
insertion. We might be able to fix things so that you get a unique
index complaint about pg_class.relname instead of pg_type, but that
would be about it.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bill Moran 2007-10-23 12:26:16 Re: BUG #3692: Conflicting create table statements throw unexpected error
Previous Message Bill Moran 2007-10-22 20:37:12 BUG #3692: Conflicting create table statements throw unexpected error