Mention the index name in 'could not create unique index' errors,
authorTom Lane
Mon, 29 Oct 2007 21:31:28 +0000 (21:31 +0000)
committerTom Lane
Mon, 29 Oct 2007 21:31:28 +0000 (21:31 +0000)
per suggestion from Rene Gollent.

src/backend/utils/sort/tuplesort.c
src/test/regress/expected/alter_table.out
src/test/regress/expected/create_index.out

index 815dd2158d1507614c334025ef2f83f24f62491e..0c63d1e142fc1376324e82719048f3e210202691 100644 (file)
@@ -91,7 +91,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/utils/sort/tuplesort.c,v 1.78 2007/09/01 18:47:39 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/utils/sort/tuplesort.c,v 1.79 2007/10/29 21:31:28 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -2720,7 +2720,8 @@ comparetup_index(const SortTuple *a, const SortTuple *b, Tuplesortstate *state)
    if (state->enforceUnique && !equal_hasnull && tuple1 != tuple2)
        ereport(ERROR,
                (errcode(ERRCODE_UNIQUE_VIOLATION),
-                errmsg("could not create unique index"),
+                errmsg("could not create unique index \"%s\"",
+                       RelationGetRelationName(state->indexRel)),
                 errdetail("Table contains duplicated values.")));
 
    /*
index bf2d66af49e5a1322231359d8c27bf964a22ab89..cba489d1d8643f5410ae26f39148463f14ae66ab 100644 (file)
@@ -417,7 +417,7 @@ insert into atacc1 (test) values (2);
 -- add a unique constraint (fails)
 alter table atacc1 add constraint atacc_test1 unique (test);
 NOTICE:  ALTER TABLE / ADD UNIQUE will create implicit index "atacc_test1" for table "atacc1"
-ERROR:  could not create unique index
+ERROR:  could not create unique index "atacc_test1"
 DETAIL:  Table contains duplicated values.
 insert into atacc1 (test) values (3);
 drop table atacc1;
@@ -485,7 +485,7 @@ insert into atacc1 (test) values (2);
 -- add a primary key (fails)
 alter table atacc1 add constraint atacc_test1 primary key (test);
 NOTICE:  ALTER TABLE / ADD PRIMARY KEY will create implicit index "atacc_test1" for table "atacc1"
-ERROR:  could not create unique index
+ERROR:  could not create unique index "atacc_test1"
 DETAIL:  Table contains duplicated values.
 insert into atacc1 (test) values (3);
 drop table atacc1;
index 3483ba155545f5a370fa5209d00130aaf16f8785..b56078edf235cbbb01f009663430afcb00cefd1d 100644 (file)
@@ -389,7 +389,7 @@ INSERT INTO concur_heap VALUES ('b','x');
 ERROR:  duplicate key value violates unique constraint "concur_index2"
 -- check if constraint is enforced properly at build time
 CREATE UNIQUE INDEX CONCURRENTLY concur_index3 ON concur_heap(f2);
-ERROR:  could not create unique index
+ERROR:  could not create unique index "concur_index3"
 DETAIL:  Table contains duplicated values.
 -- test that expression indexes and partial indexes work concurrently
 CREATE INDEX CONCURRENTLY concur_index4 on concur_heap(f2) WHERE f1='a';