]> granicus.if.org Git - postgresql/commitdiff
Make error message more verbose, in hopes of avoiding misunderstandings
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 25 Oct 2004 03:08:29 +0000 (03:08 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 25 Oct 2004 03:08:29 +0000 (03:08 +0000)
such as bug #1293.

src/backend/parser/parse_target.c

index b130a842aff00db3afa1e9e16002f94d360a0bbb..788f6f4dfa6c683b6876e0800f82368d2e04e26b 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/parser/parse_target.c,v 1.126 2004/09/30 00:24:21 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/parser/parse_target.c,v 1.127 2004/10/25 03:08:29 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -486,15 +486,17 @@ transformAssignmentIndirection(ParseState *pstate,
                        if (!typrelid)
                                ereport(ERROR,
                                                (errcode(ERRCODE_DATATYPE_MISMATCH),
-                                                errmsg("cannot assign to a column of type %s because it is not a composite type",
+                                                errmsg("cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type",
+                                                               strVal(n), targetName,
                                                                format_type_be(targetTypeId))));
 
                        attnum = get_attnum(typrelid, strVal(n));
                        if (attnum == InvalidAttrNumber)
                                ereport(ERROR,
                                                (errcode(ERRCODE_UNDEFINED_COLUMN),
-                                                errmsg("column \"%s\" not found in data type %s",
-                                                         strVal(n), format_type_be(targetTypeId))));
+                                                errmsg("cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s",
+                                                               strVal(n), targetName,
+                                                               format_type_be(targetTypeId))));
                        if (attnum < 0)
                                ereport(ERROR,
                                                (errcode(ERRCODE_UNDEFINED_COLUMN),