Re: [COMMITTERS] pgsql: Retain comments on indexes and constraints at ALTER TABLE ... TY

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Cc: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Kevin Grittner <kgrittn(at)ymail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Retain comments on indexes and constraints at ALTER TABLE ... TY
Date: 2015-07-18 13:15:28
Message-ID: 20150718131528.GV2301@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Heikki Linnakangas wrote:
> On 07/17/2015 05:40 PM, Michael Paquier wrote:
> >On Fri, Jul 17, 2015 at 11:16 PM, Kevin Grittner <kgrittn(at)ymail(dot)com> wrote:
> >>Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi> wrote:
> >>
> >>>This fixes bug #13126, reported by Kirill Simonov.
> >>
> >>It looks like you missed something with the addition of
> >>AT_ReAddComment:
> >>
> >>test_ddl_deparse.c:80:11: warning: enumeration value 'AT_ReAddComment' not handled in switch [-Wswitch]
> >> switch (subcmd->subtype)
> >> ^
> >
> >Oops. If someone could pick up the attached (backpatch to 9.5 needed)...
>
> Hmm, that function is pretty fragile, it will segfault on any AT_* type that
> it doesn't recognize. Thankfully you get that compiler warning, but we have
> added AT_* type codes before in minor releases.

Yeah, that module was put together in a bit of a rush when I decided to
remove the JSON deparsing part of the DDL patch.

> I couldn't quite figure out what the purpose of that module is, as
> there is no documentation or README or file-header comments on it.

Well, since it's in src/test/modules I thought it was clear that the
intention is just to be able to test the pg_ddl_command type --
obviously not. I will add a README or something.

> If it's there just to so you can run the regression tests that come
> with it, it might make sense to just add a "default" case to that
> switch to handle any unrecognized commands, and perhaps even remove
> the cases for the currently untested subcommands as it's just dead
> code.

Well, I would prefer to have an output that says "unrecognized" and then
add more test cases to the SQL files so that there's not so much dead
code. I prefer that to removing the C support code, because then as
we add extra tests we don't need to modify the C source.

> If it's supposed to act like a sample that you can copy-paste and
> modify, then perhaps that would still be the best option, and add a
> comment there explaining that it only cares about the most common
> subtypes but you can add handlers for others if necessary.

I wasn't thinking in having it be useful for copy-paste. My longer-term
plan is to have the JSON deparsing extension live in src/extensions.

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Andrew Dunstan 2015-07-18 14:11:15 pgsql: Enable transforms modules to build and test on Cygwin.
Previous Message Andrew Dunstan 2015-07-18 01:14:25 pgsql: Release note compatibility item

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2015-07-18 13:22:10 Re: WAL test/verification tool
Previous Message Fabien COELHO 2015-07-18 12:16:15 Re: pgbench stats per script & other stuff