Обсуждение: pgsql: Prevent display of dropped columns in row constraint violation m

Поиск
Список
Период
Сортировка

pgsql: Prevent display of dropped columns in row constraint violation m

От
Tom Lane
Дата:
Prevent display of dropped columns in row constraint violation messages.

ExecBuildSlotValueDescription() printed "null" for each dropped column in
a row being complained of by ExecConstraints().  This has some sanity in
terms of the underlying implementation, but is of course pretty surprising
to users.  To fix, we must pass the target relation's descriptor to
ExecBuildSlotValueDescription(), because the slot descriptor it had been
using doesn't get labeled with attisdropped markers.

Per bug #8408 from Maxim Boguk.  Back-patch to 9.2 where the feature of
printing row values in NOT NULL and CHECK constraint violation messages
was introduced.

Michael Paquier and Tom Lane

Branch
------
REL9_2_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/8bd5a6af629141e0de1798570ea51db4bdabf6fe

Modified Files
--------------
src/backend/executor/execMain.c           |   43 +++++++++++++++++++++--------
src/test/regress/expected/alter_table.out |   16 +++++++++++
src/test/regress/sql/alter_table.sql      |    9 ++++++
3 files changed, 56 insertions(+), 12 deletions(-)