]> granicus.if.org Git - postgresql/commit
Retain comments on indexes and constraints at ALTER TABLE ... TYPE ...
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 14 Jul 2015 08:40:22 +0000 (11:40 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 14 Jul 2015 08:40:22 +0000 (11:40 +0300)
commite42375fc8124e99c33fa330c53c2b4b502fa0baf
tree0de5a37467729e5079ef5a69a373a0d311529d6b
parent1ab9faaecb03e685aeeb16143c19c0a24d6b0048
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.
src/backend/commands/tablecmds.c
src/include/nodes/parsenodes.h
src/test/regress/expected/alter_table.out
src/test/regress/sql/alter_table.sql