From 2aae35d049274b6364aa01add629c33a1e2e6089 Mon Sep 17 00:00:00 2001 From: Tom Lane 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 815dd2158d..0c63d1e142 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 bf2d66af49..cba489d1d8 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 3483ba1555..b56078edf2 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'; -- 2.40.0