BUG #14616: error message without schema

Started by Ódor Balázsabout 9 years ago5 messagesbugs
Jump to latest
#1Ódor Balázs
balazs@obiserver.hu

The following bug has been logged on the website:

Bug reference: 14616
Logged by: Balazs Odor
Email address: balazs@obiserver.hu
PostgreSQL version: 9.6.2
Operating system: Debian
Description:

Command "ALTER DOMAIN ... ADD CONSTRAINT ..." return an error message with
column and table data, but missing the schema data.

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ódor Balázs (#1)
Re: BUG #14616: error message without schema

balazs@obiserver.hu writes:

Command "ALTER DOMAIN ... ADD CONSTRAINT ..." return an error message with
column and table data, but missing the schema data.

Could you be more specific about which error message you're concerned about?

regards, tom lane

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#3Ódor Balázs
balazs@obiserver.hu
In reply to: Tom Lane (#2)
Re: BUG #14616: error message without schema

db=# create schema test;
CREATE SCHEMA
db=# create domain test.testdomain as varchar(200);
CREATE DOMAIN
db=# create table test.testtable (col test.testdomain);
CREATE TABLE
db=# insert into test.testtable (col) values ('test text');
INSERT 0 1
db=# alter domain test.testdomain add constraint testdomain_check check
(value ~ 'a.+');
ERROR: column "col" of table "testtable" contains values that violate
the new constraint

I think this is the exact error message:
ERROR: column "col" of table "test"."testtable" contains values that
violate the new constraint

Best regards,
Balazs

balazs@obiserver.hu writes:

Command "ALTER DOMAIN ... ADD CONSTRAINT ..." return an error message with
column and table data, but missing the schema data.

Could you be more specific about which error message you're concerned about?

regards, tom lane

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ódor Balázs (#3)
Re: BUG #14616: error message without schema

=?UTF-8?B?w5Nkb3IgQmFsw6F6cw==?= <balazs@obiserver.hu> writes:

db=# create schema test;
CREATE SCHEMA
db=# create domain test.testdomain as varchar(200);
CREATE DOMAIN
db=# create table test.testtable (col test.testdomain);
CREATE TABLE
db=# insert into test.testtable (col) values ('test text');
INSERT 0 1
db=# alter domain test.testdomain add constraint testdomain_check check
(value ~ 'a.+');
ERROR: column "col" of table "testtable" contains values that violate
the new constraint

The data you're after *is* available in the extended fields of that error:

db=# \errverbose
ERROR: 23514: column "col" of table "testtable" contains values that violate the new constraint
SCHEMA NAME: test
TABLE NAME: testtable
COLUMN NAME: col
LOCATION: validateDomainConstraint, typecmds.c:2750

We've had multiple conversations about whether to include objects' schema
names in the primary error message text, and so far the answer continues
to be "no". There seem to be more people who would find it to be clutter
than would find it to be useful. Certainly it wouldn't make sense to
change that style decision for just this one message.

regards, tom lane

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#5Ódor Balázs
balazs@obiserver.hu
In reply to: Tom Lane (#4)
Re: BUG #14616: error message without schema

OK, I understand.

We have one database with 283 schemas. Every schema have an "account" table.

Thanks for the \errverbose. Can I somehow in pgadmin?

=?UTF-8?B?w5Nkb3IgQmFsw6F6cw==?= <balazs@obiserver.hu> writes:

db=# create schema test;
CREATE SCHEMA
db=# create domain test.testdomain as varchar(200);
CREATE DOMAIN
db=# create table test.testtable (col test.testdomain);
CREATE TABLE
db=# insert into test.testtable (col) values ('test text');
INSERT 0 1
db=# alter domain test.testdomain add constraint testdomain_check check
(value ~ 'a.+');
ERROR: column "col" of table "testtable" contains values that violate
the new constraint

The data you're after *is* available in the extended fields of that error:

db=# \errverbose
ERROR: 23514: column "col" of table "testtable" contains values that violate the new constraint
SCHEMA NAME: test
TABLE NAME: testtable
COLUMN NAME: col
LOCATION: validateDomainConstraint, typecmds.c:2750

We've had multiple conversations about whether to include objects' schema
names in the primary error message text, and so far the answer continues
to be "no". There seem to be more people who would find it to be clutter
than would find it to be useful. Certainly it wouldn't make sense to
change that style decision for just this one message.

regards, tom lane

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs