patch for 9.2: enhanced errors

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема patch for 9.2: enhanced errors
Дата
Msg-id BANLkTimRV2BWdO=iFt-mwu8an113kKmk1g@mail.gmail.com
обсуждение исходный текст
Ответы Re: patch for 9.2: enhanced errors  (Steve Singer <ssinger_pg@sympatico.ca>)
Список pgsql-hackers
Hello

Attached patch implements a new erros's fields that describes table,
colums related to error. This enhanced info is limited to constraints
and RI.

example:


postgres=# create table omega(a int unique not null check (a > 10));
NOTICE:  00000: CREATE TABLE / UNIQUE will create implicit index
"omega_a_key" for table "omega"
LOCATION:  DefineIndex, indexcmds.c:389
CREATE TABLE
Time: 106.867 ms
postgres=# \set VERBOSITY verbose
postgres=# insert into omega values(0);
ERROR:  23514: new row for relation "omega" violates check constraint
"omega_a_check"
LOCATION:  ExecConstraints, execMain.c:1547
CONSTRAINT:  omega_a_check
SCHEMA:  public
TABLE:  omega
COLUMNS:  a
postgres=# insert into omega values(null);
ERROR:  23502: null value in column "a" violates not-null constraint
LOCATION:  ExecConstraints, execMain.c:1519
CONSTRAINT:  not_null_constraint
SCHEMA:  public
TABLE:  omega
COLUMNS:  a
postgres=# insert into omega values(20);
INSERT 0 1
Time: 60.588 ms
postgres=# insert into omega values(20);
ERROR:  23505: duplicate key value violates unique constraint "omega_a_key"
DETAIL:  Key (a)=(20) already exists.
LOCATION:  _bt_check_unique, nbtinsert.c:432
CONSTRAINT:  omega_a_key
SCHEMA:  public
TABLE:  omega
COLUMNS:  a
postgres=#

This is base for support variables CONSTRAINT_NAME, SCHEMA_NAME and
TABLE_NAME for GET DIAGNOSTICS statement.

All regress tests was successfully passed

Regards

Pavel Stehule

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alex Hunsaker
Дата:
Сообщение: Re: gcc 4.6 and hot standby
Следующее
От: Tom Lane
Дата:
Сообщение: Re: gcc 4.6 and hot standby