Re: [COMMITTERS] pgsql: Fix hard-coded relkind constants in pg_dump.c.

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Fix hard-coded relkind constants in pg_dump.c.
Date: 2017-03-10 00:46:32
Message-ID: CAB7nPqQBRksk+yZLWFSYBmU6ZfbK3B-6q+Z+Mkya+oBD=PLFvw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Fri, Mar 10, 2017 at 9:19 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Fix hard-coded relkind constants in pg_dump.c.
>
> Although it's reasonable to expect that most of these constants will
> never change, that does not make it good programming style to hard-code
> the value rather than using the RELKIND_FOO macros. There were only
> a few such violations, and all relatively new AFAICT.
>
> Existing style is mostly to inject relkind values into constructed
> query strings using %c. I did not bother to touch places that did it
> like that, but really a better technique is to stringify the RELKIND
> macro, at least in places where you'd want single quotes around the
> code character. That avoids any runtime effort and keeps the RELKIND
> symbol close to where it's used.

I have been wondering about the lack of readability with those
hardcoded relkinds in the code for some time but... Wouldn't it be
better to change as well psql's describe.c and tab_complete.c, as well
as pg_upgrade and initdb code?
--
Michael

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2017-03-10 00:52:00 Re: [COMMITTERS] pgsql: Throw an error if a DATA() line contains wrong # of attributes.
Previous Message Andres Freund 2017-03-10 00:40:56 pgsql: Add amcheck extension to contrib.

Browse pgsql-hackers by date

  From Date Subject
Next Message George Papadrosou 2017-03-10 00:49:27 GSOC Introduction / Eliminate O(N^2) scaling from rw-conflict tracking in serializable transactions
Previous Message Andres Freund 2017-03-10 00:41:42 Re: amcheck (B-Tree integrity checking tool)