Re: Improve readability by using designated initializers when possible

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Michael Paquier <michael@paquier.xyz>, jian he <jian.universality@gmail.com>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, Japin Li <japinli@hotmail.com>, Jelte Fennema-Nio <postgres@jeltef.nl>, Jeff Davis <pgsql@j-davis.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, pgsql-hackers@lists.postgresql.org
Date: 2024-03-13T13:24:32Z
Lists: pgsql-hackers

Attachments

On 08.03.24 06:50, Michael Paquier wrote:
> On Mon, Mar 04, 2024 at 09:29:03AM +0800, jian he wrote:
>> On Fri, Mar 1, 2024 at 5:26 PM Peter Eisentraut <peter@eisentraut.org> wrote:
>>> Oops, there was a second commit in my branch that I neglected to send
>>> in.  Here is my complete patch set.
> 
> Thanks for the new patch set.  The gains are neat, giving nice
> numbers:
>   7 files changed, 200 insertions(+), 644 deletions(-)
> 
> +       default:
> +           DropObjectById(object);
> +           break;
> 
> Hmm.  I am not sure that this is a good idea.  Wouldn't it be safer to
> use as default path something that generates an ERROR so as this code
> path would complain immediately when adding a new catalog?

fixed in new patch

> In getObjectDescription() and getObjectTypeDescription() this was a
> safeguard, but we don't have that anymore.  So it seems to me that
> this should be replaced with a default with elog(ERROR)?

fixed

>> there is a `OCLASS` at the end of getObjectIdentityParts.
> 
> Nice catch.  A comment is not updated.
> 
>> There is a `ObjectClass` in typedefs.list
> 
> This is usually taken care of by committers or updated automatically.

both fixed

Commits

  1. Remove ObjectClass type

  2. Simplify pg_enc2gettext_tbl[] with C99-designated initializer syntax

  3. Use C99-designated initializer syntax for arrays related to encodings

  4. Remove last NULL element in config_group_names[]

  5. Use C99-designated initializer syntax for more arrays

  6. Remove unnecessary array object_classes[] in dependency.c

  7. Add trailing commas to enum definitions