]> 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:42:26 +0000 (11:42 +0300)
commit9dee48c94b6eb544dd334ec021ff224454f2020f
tree358b1e8a1710a26d8824fe0a5dd72a65e47faa89
parent6d5031efcbb4bfadc6a7c2f3c68f05a9281315f4
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