From: | Alexander Korotkov <aekorotkov(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Alexander Korotkov <akorotkov(at)postgresql(dot)org> |
Subject: | Re: postgres.h included from relcache.h - but removing it breaks pg_upgrade |
Date: | 2021-09-17 23:51:09 |
Message-ID: | CAPpHfduP6G7m-e=9o50NqES3+21BV9hUa-VvSbB3drf0U_+aPA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Sep 14, 2021 at 6:53 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
> > On 2021-09-13 22:40:19 -0400, Tom Lane wrote:
> >> As for the fix ... what in the world is pg_upgrade doing including
> >> relcache.h? It seems like there's a more fundamental problem here:
> >> either relcache.h is declaring something that needs to be elsewhere,
> >> or pg_upgrade is doing something it should not.
>
> > We could split visibilitymap.h into two, or we could forward-declare Relation
> > and not include relcache...
>
> Without having looked at the details, I think using a forward-declare
> to avoid including relcache.h in visibilitymap.h might be a reasonably
> non-painful fix.
I like that idea, but I didn't find an appropriate existing header for
forward-declaration of Relation. relation.h isn't suitable, because
it includes primnodes.h. A separate header for just
forward-definition of Relation seems too much.
> TOH, in the long run it might be worth the effort
> to split visibilitymap.h to separate useful file-contents knowledge
> from backend function declarations.
I've drafted a patch splitting visibilitymap_maros.h from
visibilitymap.h. What do you think?
------
Regards,
Alexander Korotkov
Attachment | Content-Type | Size |
---|---|---|
0001-Split-macros-from-visibilitymap.h-into-a-separate-h-.patch | application/octet-stream | 2.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel Frey | 2021-09-18 00:00:14 | Re: Access last_sqlstate from libpq |
Previous Message | David G. Johnston | 2021-09-17 23:45:25 | Re: Access last_sqlstate from libpq |