Thread: pgsql: Retain comments on indexes and constraints at ALTER TABLE ... TY

pgsql: Retain comments on indexes and constraints at ALTER TABLE ... TY

From
Heikki Linnakangas
Date:
Retain comments on indexes and constraints at ALTER TABLE ... TYPE ...

When a column's datatype is changed, ATExecAlterColumnType() rebuilds all
the affected indexes and constraints, and the comments from the old
indexes/constraints were not carried over.

To fix, create a synthetic COMMENT ON command in the work queue, to re-add
any comments on constraints. For indexes, there's a comment field in
IndexStmt that is used.

This fixes bug #13126, reported by Kirill Simonov. Original patch by
Michael Paquier, reviewed by Petr Jelinek and me. This bug is present in
all versions, but only backpatch to 9.5. Given how minor the issue is, it
doesn't seem worth the work and risk to backpatch further than that.

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/9dee48c94b6eb544dd334ec021ff224454f2020f

Modified Files
--------------
src/backend/commands/tablecmds.c          |   65 ++++++++++++++++++++++++++++-
src/include/nodes/parsenodes.h            |    1 +
src/test/regress/expected/alter_table.out |   63 ++++++++++++++++++++++++++++
src/test/regress/sql/alter_table.sql      |   36 ++++++++++++++++
4 files changed, 163 insertions(+), 2 deletions(-)