On Sun, Apr 26, 2015 at 6:05 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> xi(at)resolvent(dot)net writes:
>> In some circumstances, the comment on a table constraint disappears. Here
>> is an example:
>
> Hm, yeah. The problem is that ATExecAlterColumnType() rebuilds all the
> affected indexes from scratch, and it isn't doing anything about copying
> their comments to the new objects (either comments on the constraints, or
> comments directly on the indexes).
>
> The least painful way to fix it might be to charter ATPostAlterTypeCleanup
> to create COMMENT commands and add those to the appropriate work queue,
> rather than complicating the data structure initially emitted by
> ATExecAlterColumnType. But it'd still be a fair amount of new code I'm
> afraid.
>
> Not planning to fix this personally, but maybe someone else would like to
> take it up.
In order to fix this, an idea would be to add a new routine in
ruleutils.c that generates the COMMENT query string, and then call it
directly from tablecmds.c. On master, I imagine that we could even add
some SQL interface if there is some need.
Thoughts?
--
Michael