Re: catalog files simplification

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: catalog files simplification
Date: 2019-06-12 13:21:46
Message-ID: CA+TgmobDragpJSJ8sd8D02a5BPsh2+=17_ob0TKrpSejHedy7w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jun 12, 2019 at 7:52 AM Peter Eisentraut
<peter(dot)eisentraut(at)2ndquadrant(dot)com> wrote:
> The current catalog files all do this:
>
> CATALOG(pg_aggregate,2600,AggregateRelationId)
> {
> ...
> } FormData_pg_aggregate;
>
> typedef FormData_pg_aggregate *Form_pg_aggregate;
>
> The bottom part of this seems redundant. With the attached patch, we
> can generate that automatically, so this becomes just
>
> CATALOG(pg_aggregate,2600,AggregateRelationId)
> {
> ...
> };

Maybe the macro definition could be split across several lines instead
of having one really long line?

Are some compilers going to be sad about typedef struct x x; preceding
any declaration or definition of struct x?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2019-06-12 13:34:39 Re: catalog files simplification
Previous Message Robert Haas 2019-06-12 13:14:21 Re: tableam: abstracting relation sizing code