Prev: [HACKERS] planner or statistical bug on 8.5
Next: [HACKERS] bug in integration SQL parser to plpgsq
From: Takahiro Itagaki on 12 Jan 2010 05:10 Andreas Joseph Krogh <andreak(a)officenet.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 -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
From: Andreas Joseph Krogh on 12 Jan 2010 05:18 On Tuesday 12. January 2010 11.10.09 Takahiro Itagaki wrote: > > Andreas Joseph Krogh <andreak(a)officenet.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)))); > } > } +1 -- Andreas Joseph Krogh <andreak(a)officenet.no> Senior Software Developer / CTO ------------------------+---------------------------------------------+ OfficeNet AS | The most difficult thing in the world is to | Rosenholmveien 25 | know how to do a thing and to watch | 1414 TrollÄsen | somebody else doing it wrong, without | NORWAY | comment. | | | Tlf: +47 24 15 38 90 | | Fax: +47 24 15 38 91 | | Mobile: +47 909 56 963 | | ------------------------+---------------------------------------------+ -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
From: Tom Lane on 12 Jan 2010 09:25 Takahiro Itagaki <itagaki.takahiro(a)oss.ntt.co.jp> writes: > Do we have any guideline about the message for identifier names? The issue has come up before. I think that what we really need here is to implement additional fields in error message reports, so that the name and schema name of the relevant object can be pulled out of the message by programs without having to parse the message text. If we had that, it would reduce the pressure to clutter the basic message text this way. It would also improve our compliance with the SQL standard, which says you're supposed to do it like that. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
From: Robert Haas on 12 Jan 2010 12:48 On Tue, Jan 12, 2010 at 5:10 AM, Takahiro Itagaki <itagaki.takahiro(a)oss.ntt.co.jp> wrote: > Andreas Joseph Krogh <andreak(a)officenet.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? I feel like we ought to be doing this in a way where the output is properly escaped. Right now: test=# create table dork ("""" integer not null); CREATE TABLE test=# insert into dork values (null); ERROR: null value in column """ violates not-null constraint Suck. ....Robert -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
From: "Kevin Grittner" on 12 Jan 2010 12:58 Robert Haas <robertmhaas(a)gmail.com> wrote: > I feel like we ought to be doing this in a way where the output is > properly escaped. Right now: Yeah, that's been an occasional irritation for me, even though I don't actually use quote characters in any of my quoted identifiers. Also, tab-completion is irritating in not recognizing matching column names when you start with a quote if the column name is entirely lower case. I would complain about generating a mix of quoted and non-quoted column names in some places, but fixing that for me would undoubtedly inconvenience others; I guess we have to consider that behavior a feature. But the other two just look like sloppy coding to me; it's hard to see any excuse not to call them bugs, albeit minor ones. -Kevin -- Sent via pgsql-hackers mailing list (pgsql-hackers(a)postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
|
Next
|
Last
Pages: 1 2 Prev: [HACKERS] planner or statistical bug on 8.5 Next: [HACKERS] bug in integration SQL parser to plpgsq |