Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-bugs by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group