Clarify some error messages about duplicate things.
authorPeter Eisentraut <peter_e@gmx.net>
Sun, 3 Jun 2007 22:16:03 +0000 (22:16 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Sun, 3 Jun 2007 22:16:03 +0000 (22:16 +0000)
13 files changed:
src/backend/access/common/reloptions.c
src/backend/access/nbtree/nbtinsert.c
src/backend/catalog/heap.c
src/backend/commands/tablecmds.c
src/test/regress/expected/alter_table.out
src/test/regress/expected/arrays.out
src/test/regress/expected/create_index.out
src/test/regress/expected/inherit.out
src/test/regress/expected/plpgsql.out
src/test/regress/expected/transactions.out
src/test/regress/expected/uuid.out
src/test/regress/output/constraints.source
src/test/regress/output/tablespace.source

index 4adf4666e776a0035661a7a0d19618e4f06fd4b4..9f40fc59d3fd2b56e8cd6cda59a5a4db467607c9 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/access/common/reloptions.c,v 1.4 2007/02/27 23:48:06 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/access/common/reloptions.c,v 1.5 2007/06/03 22:16:02 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -206,7 +206,7 @@ parseRelOptions(Datum options, int numkeywords, const char *const * keywords,
                                if (values[j] && validate)
                                        ereport(ERROR,
                                                        (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
-                                                        errmsg("duplicate parameter \"%s\"",
+                                                        errmsg("parameter \"%s\" specified more than once",
                                                                        keywords[j])));
                                value_len = text_len - kw_len - 1;
                                value = (char *) palloc(value_len + 1);
index 5f8be398ca11d755b43887a417e854295b0182b7..7d12c9921f6e51da48c00fd12e14658109d10d4f 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/access/nbtree/nbtinsert.c,v 1.157 2007/05/20 21:08:19 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/access/nbtree/nbtinsert.c,v 1.158 2007/06/03 22:16:02 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -287,7 +287,7 @@ _bt_check_unique(Relation rel, IndexTuple itup, Relation heapRel,
 
                                        ereport(ERROR,
                                                        (errcode(ERRCODE_UNIQUE_VIOLATION),
-                                       errmsg("duplicate key violates unique constraint \"%s\"",
+                                       errmsg("duplicate key value violates unique constraint \"%s\"",
                                                   RelationGetRelationName(rel))));
                                }
                                else if (htup.t_data != NULL)
index 005ed63475b59d774b60b9c7a510cdb968b4736f..f1e3ee2a1efa1846d513f960b578eb0bc3dfc15c 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/catalog/heap.c,v 1.321 2007/05/14 20:24:41 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/catalog/heap.c,v 1.322 2007/06/03 22:16:02 petere Exp $
  *
  *
  * INTERFACE ROUTINES
@@ -375,7 +375,7 @@ CheckAttributeNamesTypes(TupleDesc tupdesc, char relkind)
                                           NameStr(tupdesc->attrs[i]->attname)) == 0)
                                ereport(ERROR,
                                                (errcode(ERRCODE_DUPLICATE_COLUMN),
-                                                errmsg("column name \"%s\" is duplicated",
+                                                errmsg("column name \"%s\" specified more than once",
                                                                NameStr(tupdesc->attrs[j]->attname))));
                }
        }
index f5bdc35615dc33b2b49251699c2353f0a93a154a..b9bebde8f10f58906765eac2efa72f60d2ffeaef 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.226 2007/06/03 17:06:25 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.227 2007/06/03 22:16:03 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -791,7 +791,7 @@ MergeAttributes(List *schema, List *supers, bool istemp,
                        if (strcmp(coldef->colname, restdef->colname) == 0)
                                ereport(ERROR,
                                                (errcode(ERRCODE_DUPLICATE_COLUMN),
-                                                errmsg("column \"%s\" duplicated",
+                                                errmsg("column \"%s\" specified more than once",
                                                                coldef->colname)));
                }
        }
@@ -839,7 +839,7 @@ MergeAttributes(List *schema, List *supers, bool istemp,
                if (list_member_oid(parentOids, RelationGetRelid(relation)))
                        ereport(ERROR,
                                        (errcode(ERRCODE_DUPLICATE_TABLE),
-                                        errmsg("inherited relation \"%s\" duplicated",
+                                        errmsg("relation \"%s\" would be inherited from more than once",
                                                        parent->relname)));
 
                parentOids = lappend_oid(parentOids, RelationGetRelid(relation));
@@ -1139,7 +1139,7 @@ add_nonduplicate_constraint(Constraint *cdef, ConstrCheck *check, int *ncheck)
                        return;                         /* duplicate constraint, so ignore it */
                ereport(ERROR,
                                (errcode(ERRCODE_DUPLICATE_OBJECT),
-                                errmsg("duplicate check constraint name \"%s\"",
+                                errmsg("check constraint name \"%s\" appears multiple times but with different expressions",
                                                cdef->name)));
        }
        /* No match on name, so add it to array */
@@ -6013,7 +6013,7 @@ ATExecAddInherit(Relation child_rel, RangeVar *parent)
                if (inh->inhparent == RelationGetRelid(parent_rel))
                        ereport(ERROR,
                                        (errcode(ERRCODE_DUPLICATE_TABLE),
-                                        errmsg("inherited relation \"%s\" duplicated",
+                                        errmsg("relation \"%s\" would be inherited from more than once",
                                                        RelationGetRelationName(parent_rel))));
                if (inh->inhseqno > inhseqno)
                        inhseqno = inh->inhseqno;
index 99f0c0b04980a5898e274fde5c6178628cb8c858..bf2d66af49e5a1322231359d8c27bf964a22ab89 100644 (file)
@@ -360,7 +360,7 @@ alter table atacc3 add constraint foo check (test2>0);
 alter table atacc3 inherit atacc2;
 -- fail due to duplicates and circular inheritance
 alter table atacc3 inherit atacc2;
-ERROR:  inherited relation "atacc2" duplicated
+ERROR:  relation "atacc2" would be inherited from more than once
 alter table atacc2 inherit atacc3;
 ERROR:  circular inheritance not allowed
 DETAIL:  "atacc3" is already a child of "atacc2".
@@ -402,7 +402,7 @@ NOTICE:  ALTER TABLE / ADD UNIQUE will create implicit index "atacc_test1" for t
 insert into atacc1 (test) values (2);
 -- should fail
 insert into atacc1 (test) values (2);
-ERROR:  duplicate key violates unique constraint "atacc_test1"
+ERROR:  duplicate key value violates unique constraint "atacc_test1"
 -- should succeed
 insert into atacc1 (test) values (4);
 -- try adding a unique oid constraint
@@ -437,7 +437,7 @@ NOTICE:  ALTER TABLE / ADD UNIQUE will create implicit index "atacc_test1" for t
 insert into atacc1 (test,test2) values (4,4);
 -- should fail
 insert into atacc1 (test,test2) values (4,4);
-ERROR:  duplicate key violates unique constraint "atacc_test1"
+ERROR:  duplicate key value violates unique constraint "atacc_test1"
 -- should all succeed
 insert into atacc1 (test,test2) values (4,5);
 insert into atacc1 (test,test2) values (5,4);
@@ -451,7 +451,7 @@ NOTICE:  ALTER TABLE / ADD UNIQUE will create implicit index "atacc1_test2_key"
 -- should fail for @@ second one @@
 insert into atacc1 (test2, test) values (3, 3);
 insert into atacc1 (test2, test) values (2, 3);
-ERROR:  duplicate key violates unique constraint "atacc1_test_key"
+ERROR:  duplicate key value violates unique constraint "atacc1_test_key"
 drop table atacc1;
 -- test primary key constraint adding
 create table atacc1 ( test int ) with oids;
@@ -462,7 +462,7 @@ NOTICE:  ALTER TABLE / ADD PRIMARY KEY will create implicit index "atacc_test1"
 insert into atacc1 (test) values (2);
 -- should fail
 insert into atacc1 (test) values (2);
-ERROR:  duplicate key violates unique constraint "atacc_test1"
+ERROR:  duplicate key value violates unique constraint "atacc_test1"
 -- should succeed
 insert into atacc1 (test) values (4);
 -- inserting NULL should fail
@@ -517,7 +517,7 @@ ERROR:  multiple primary keys for table "atacc1" are not allowed
 insert into atacc1 (test,test2) values (4,4);
 -- should fail
 insert into atacc1 (test,test2) values (4,4);
-ERROR:  duplicate key violates unique constraint "atacc_test1"
+ERROR:  duplicate key value violates unique constraint "atacc_test1"
 insert into atacc1 (test,test2) values (NULL,3);
 ERROR:  null value in column "test" violates not-null constraint
 insert into atacc1 (test,test2) values (3, NULL);
@@ -535,7 +535,7 @@ NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "atacc1_pkey" for
 -- only first should succeed
 insert into atacc1 (test2, test) values (3, 3);
 insert into atacc1 (test2, test) values (2, 3);
-ERROR:  duplicate key violates unique constraint "atacc1_pkey"
+ERROR:  duplicate key value violates unique constraint "atacc1_pkey"
 insert into atacc1 (test2, test) values (1, NULL);
 ERROR:  null value in column "test" violates not-null constraint
 drop table atacc1;
index 936db41c4b8c93235850db561a8514f59b686ee5..0f611bf7d7821488209fa2568e59eba7da674ab7 100644 (file)
@@ -703,7 +703,7 @@ insert into arr_tbl values ('{1,2,3}');
 insert into arr_tbl values ('{1,2}');
 -- failure expected:
 insert into arr_tbl values ('{1,2,3}');
-ERROR:  duplicate key violates unique constraint "arr_tbl_f1_key"
+ERROR:  duplicate key value violates unique constraint "arr_tbl_f1_key"
 insert into arr_tbl values ('{2,3,4}');
 insert into arr_tbl values ('{1,5,3}');
 insert into arr_tbl values ('{1,2,10}');
index bd785fb8b186bb1b83d8bf136d70035c8c44bc38..adec0e6c8470fdd22b518dbb89a14fe8c4487d1b 100644 (file)
@@ -348,7 +348,7 @@ INSERT INTO func_index_heap VALUES('AB','CDEFG');
 INSERT INTO func_index_heap VALUES('QWE','RTY');
 -- this should fail because of unique index:
 INSERT INTO func_index_heap VALUES('ABCD', 'EF');
-ERROR:  duplicate key violates unique constraint "func_index_index"
+ERROR:  duplicate key value violates unique constraint "func_index_index"
 -- but this shouldn't:
 INSERT INTO func_index_heap VALUES('QWERTY');
 --
@@ -362,7 +362,7 @@ INSERT INTO func_index_heap VALUES('AB','CDEFG');
 INSERT INTO func_index_heap VALUES('QWE','RTY');
 -- this should fail because of unique index:
 INSERT INTO func_index_heap VALUES('ABCD', 'EF');
-ERROR:  duplicate key violates unique constraint "func_index_index"
+ERROR:  duplicate key value violates unique constraint "func_index_index"
 -- but this shouldn't:
 INSERT INTO func_index_heap VALUES('QWERTY');
 --
@@ -386,7 +386,7 @@ INSERT INTO concur_heap VALUES  ('b','b');
 CREATE UNIQUE INDEX CONCURRENTLY concur_index2 ON concur_heap(f1);
 -- check if constraint is set up properly to be enforced
 INSERT INTO concur_heap VALUES ('b','x');
-ERROR:  duplicate key violates unique constraint "concur_index2"
+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
index f4bdb8d825503ac8231e2aea12998978e182405a..fa97f019b1d7aac435017153357b708879f7d40c 100644 (file)
@@ -605,7 +605,7 @@ SELECT * FROM a; /* Has ee entry */
 (1 row)
 
 CREATE TABLE inhf (LIKE inhx, LIKE inhx); /* Throw error */
-ERROR:  column "xx" duplicated
+ERROR:  column "xx" specified more than once
 CREATE TABLE inhf (LIKE inhx INCLUDING DEFAULTS INCLUDING CONSTRAINTS);
 INSERT INTO inhf DEFAULT VALUES;
 SELECT * FROM inhf; /* Single entry with value 'text' */
index 12a6d4e4e491762bc035c4e8ed7753441b23f922..ddb44a72527d960033065293b05aa5127df168b5 100644 (file)
@@ -1516,7 +1516,7 @@ select * from PField_v1 where pfname = 'PF0_2' order by slotname;
 -- Finally we want errors
 --
 insert into PField values ('PF1_1', 'should fail due to unique index');
-ERROR:  duplicate key violates unique constraint "pfield_name"
+ERROR:  duplicate key value violates unique constraint "pfield_name"
 update PSlot set backlink = 'WS.not.there' where slotname = 'PS.base.a1';
 ERROR:  WS.not.there         does not exist
 CONTEXT:  PL/pgSQL function "tg_backlink_a" line 16 at assignment
@@ -1530,7 +1530,7 @@ update PSlot set slotlink = 'XX.illegal' where slotname = 'PS.base.a1';
 ERROR:  illegal slotlink beginning with XX
 CONTEXT:  PL/pgSQL function "tg_slotlink_a" line 16 at assignment
 insert into HSlot values ('HS', 'base.hub1', 1, '');
-ERROR:  duplicate key violates unique constraint "hslot_name"
+ERROR:  duplicate key value violates unique constraint "hslot_name"
 insert into HSlot values ('HS', 'base.hub1', 20, '');
 ERROR:  no manual manipulation of HSlot
 delete from HSlot;
index c8fe0522bfe001b1cb4309ded045a64180d2bb4e..e956bf053a752005b90f7bb76c496072b6f17f21 100644 (file)
@@ -463,13 +463,13 @@ BEGIN;
 NOTICE:  CREATE TABLE / UNIQUE will create implicit index "koju_a_key" for table "koju"
                INSERT INTO koju VALUES (1);
                INSERT INTO koju VALUES (1);
-ERROR:  duplicate key violates unique constraint "koju_a_key"
+ERROR:  duplicate key value violates unique constraint "koju_a_key"
        rollback to x;
        CREATE TABLE koju (a INT UNIQUE);
 NOTICE:  CREATE TABLE / UNIQUE will create implicit index "koju_a_key" for table "koju"
        INSERT INTO koju VALUES (1);
        INSERT INTO koju VALUES (1);
-ERROR:  duplicate key violates unique constraint "koju_a_key"
+ERROR:  duplicate key value violates unique constraint "koju_a_key"
 ROLLBACK;
 DROP TABLE foo;
 DROP TABLE baz;
index 331a6de5a2ee33bbc68c18a4bbe4f106b8587068..179bf60d983d90c80760d619fe49221a106aa476 100644 (file)
@@ -106,7 +106,7 @@ CREATE INDEX guid1_hash  ON guid1 USING HASH  (guid_field);
 CREATE UNIQUE INDEX guid1_unique_BTREE ON guid1 USING BTREE (guid_field);
 -- should fail
 INSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-1111-111111111111');
-ERROR:  duplicate key violates unique constraint "guid1_unique_btree"
+ERROR:  duplicate key value violates unique constraint "guid1_unique_btree"
 -- check to see whether the new indexes are actually there
 SELECT count(*) FROM pg_class WHERE relkind='i' AND relname LIKE 'guid%';
  count 
index e40c445014e68537a253f2da4063091b2d313d7c..654e8d995351348f4b0f442eb1f5ecf1a80e888f 100644 (file)
@@ -293,7 +293,7 @@ NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "primary_tbl_pkey
 INSERT INTO PRIMARY_TBL VALUES (1, 'one');
 INSERT INTO PRIMARY_TBL VALUES (2, 'two');
 INSERT INTO PRIMARY_TBL VALUES (1, 'three');
-ERROR:  duplicate key violates unique constraint "primary_tbl_pkey"
+ERROR:  duplicate key value violates unique constraint "primary_tbl_pkey"
 INSERT INTO PRIMARY_TBL VALUES (4, 'three');
 INSERT INTO PRIMARY_TBL VALUES (5, 'one');
 INSERT INTO PRIMARY_TBL (t) VALUES ('six');
@@ -337,7 +337,7 @@ NOTICE:  CREATE TABLE / UNIQUE will create implicit index "unique_tbl_i_key" for
 INSERT INTO UNIQUE_TBL VALUES (1, 'one');
 INSERT INTO UNIQUE_TBL VALUES (2, 'two');
 INSERT INTO UNIQUE_TBL VALUES (1, 'three');
-ERROR:  duplicate key violates unique constraint "unique_tbl_i_key"
+ERROR:  duplicate key value violates unique constraint "unique_tbl_i_key"
 INSERT INTO UNIQUE_TBL VALUES (4, 'four');
 INSERT INTO UNIQUE_TBL VALUES (5, 'one');
 INSERT INTO UNIQUE_TBL (t) VALUES ('six');
@@ -361,7 +361,7 @@ INSERT INTO UNIQUE_TBL VALUES (1, 'one');
 INSERT INTO UNIQUE_TBL VALUES (2, 'two');
 INSERT INTO UNIQUE_TBL VALUES (1, 'three');
 INSERT INTO UNIQUE_TBL VALUES (1, 'one');
-ERROR:  duplicate key violates unique constraint "unique_tbl_i_key"
+ERROR:  duplicate key value violates unique constraint "unique_tbl_i_key"
 INSERT INTO UNIQUE_TBL VALUES (5, 'one');
 INSERT INTO UNIQUE_TBL (t) VALUES ('six');
 SELECT '' AS five, * FROM UNIQUE_TBL;
index 8ab6b68f124ab0d56484ca940dfd7b493162fdf7..607232f5353bf8b17a2cf3fe51e87388135c672e 100644 (file)
@@ -48,7 +48,7 @@ ALTER TABLE testschema.atable SET TABLESPACE testspace;
 ALTER INDEX testschema.anindex SET TABLESPACE testspace;
 INSERT INTO testschema.atable VALUES(3);       -- ok
 INSERT INTO testschema.atable VALUES(1);       -- fail (checks index)
-ERROR:  duplicate key violates unique constraint "anindex"
+ERROR:  duplicate key value violates unique constraint "anindex"
 SELECT COUNT(*) FROM testschema.atable;                -- checks heap
  count 
 -------