On Fri, Jul 13, 2012 at 12:00:14PM +0000, daniele.varrazzo@gmail.com wrote:
> The following bug has been logged on the website:
>
> Bug reference: 6734
> Logged by: Daniele Varrazzo
> Email address: daniele.varrazzo@gmail.com
> PostgreSQL version: 9.1.4
> Operating system: Linux
> Description:
>
> Weird, isn't it? Test case below.
>
> Dropping the comment, the create table command works as expected. The
> command fails with an: "ERROR: relation "foo2_f1_idx" already exists".
The comments on chooseIndexName in src/backend/parser/parse_utilcmd.c say:
* XXX this is inherently broken because the indexes aren't created
* immediately, so we fail to resolve conflicts when the same name is
* derived for multiple indexes.
Which looks like the case here. So it seems like
chooseIndexName/ChooseIndexName might need to take a list of any indexes
names that have already been created to avoid this.
>
> begin;
>
> CREATE TABLE foo
> (
> id serial primary key,
> f1 integer NOT NULL
> );
>
>
> CREATE INDEX foo_idx1 ON foo (f1);
>
> CREATE INDEX foo_idx2 ON foo (f1) WHERE id > 10;
>
> COMMENT ON INDEX foo_idx2 IS 'whatever';
>
> create table foo2 (like foo including all);
>
> rollback;
>
>
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
-Ryan Kelly