From: | Takahiro Itagaki <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp> |
---|---|
To: | Andreas Joseph Krogh <andreak(at)officenet(dot)no> |
Cc: | "PostgreSQL-development" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: NOT NULL violation and error-message |
Date: | 2010-01-12 10:10:09 |
Message-ID: | 20100112191009.C533.52131E4D@oss.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andreas Joseph Krogh <andreak(at)officenet(dot)no> wrote:
> ERROR: null value in column "created" violates not-null constraint
It is easy to add the table name to the message, but ...
> ERROR: null value in column "public"."mytable"."created" violates not-null constraint
> Oracle does this btw...
Do we have any guideline about the message for identifier names? We've
already had serveral "table.column" messages, but "schema.table.column"
might be preferred if there are tables with the same name in different
schema. In addition, separated quotes ("schema"."table"."column") are
more SQL-ish than single outer quotes. Which should we use?
At any rate, we need to adjust many regression test and .po files
if we change such kinds of messages.
Index: src/backend/executor/execMain.c
===================================================================
--- src/backend/executor/execMain.c (HEAD)
+++ src/backend/executor/execMain.c (fixed)
@@ -1316,7 +1316,8 @@
slot_attisnull(slot, attrChk))
ereport(ERROR,
(errcode(ERRCODE_NOT_NULL_VIOLATION),
- errmsg("null value in column \"%s\" violates not-null constraint",
+ errmsg("null value in column \"%s.%s\" violates not-null constraint",
+ RelationGetRelationName(rel),
NameStr(rel->rd_att->attrs[attrChk - 1]->attname))));
}
}
Regards,
---
Takahiro Itagaki
NTT Open Source Software Center
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2010-01-12 10:10:41 | bug in integration SQL parser to plpgsq |
Previous Message | Takahiro Itagaki | 2010-01-12 09:38:00 | Re: plpgsql: open for execute - add USING clause |