]> granicus.if.org Git - postgresql/commit
Prevent display of dropped columns in row constraint violation messages.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 7 Nov 2013 19:41:39 +0000 (14:41 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 7 Nov 2013 19:41:39 +0000 (14:41 -0500)
commitdf5d5f1dc75137db36099eb6a3759bde678828ad
treebe39557d0d0d44d8c702ef0b5405c99ef64cecbe
parent5d0731da521f090f80ea39529fe274ac6d6bffa1
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
src/backend/executor/execMain.c
src/test/regress/expected/alter_table.out
src/test/regress/sql/alter_table.sql