From 2aae35d049274b6364aa01add629c33a1e2e6089 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Mon, 29 Oct 2007 21:31:28 +0000
Subject: [PATCH] Mention the index name in 'could not create unique index'
 errors, per suggestion from Rene Gollent.

---
 src/backend/utils/sort/tuplesort.c         | 5 +++--
 src/test/regress/expected/alter_table.out  | 4 ++--
 src/test/regress/expected/create_index.out | 2 +-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/backend/utils/sort/tuplesort.c b/src/backend/utils/sort/tuplesort.c
index 815dd2158d1..0c63d1e142f 100644
--- a/src/backend/utils/sort/tuplesort.c
+++ b/src/backend/utils/sort/tuplesort.c
@@ -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.")));
 
 	/*
diff --git a/src/test/regress/expected/alter_table.out b/src/test/regress/expected/alter_table.out
index bf2d66af49e..cba489d1d86 100644
--- a/src/test/regress/expected/alter_table.out
+++ b/src/test/regress/expected/alter_table.out
@@ -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;
diff --git a/src/test/regress/expected/create_index.out b/src/test/regress/expected/create_index.out
index 3483ba15554..b56078edf23 100644
--- a/src/test/regress/expected/create_index.out
+++ b/src/test/regress/expected/create_index.out
@@ -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';
-- 
GitLab