Re: Avoid circular header file dependency - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Avoid circular header file dependency
Date
Msg-id 350192.1745768770@sss.pgh.pa.us
Whole thread Raw
In response to Re: Avoid circular header file dependency  (Bertrand Drouvot <bertranddrouvot.pg@gmail.com>)
List pgsql-hackers
Bertrand Drouvot <bertranddrouvot.pg@gmail.com> writes:
> On Sat, Apr 26, 2025 at 02:55:51PM -0400, Tom Lane wrote:
>> I think the actual problem is that plpython.h
>> does this:
>>
>> /*
>> * Used throughout, so it's easier to just include it everywhere.
>> */
>> #include "plpy_util.h"

> Agree.

>> which is exactly the sort of cowboy modularity violation that hurts
>> when you have to clean it up.  Taking that out requires having to
>> manually include plpy_util.h in all the relevant .c files, but on
>> the other hand we can remove their vestigial direct inclusions of
>> plpython.h.

> Yeah, makes sense. I checked the s/plpython.h/plpy_util.h/ replacements and
> the includes alphabetical ordering is still preserved. Also misc-header-include-cycle
> is now happy so LGTM.

Pushed, thanks for reviewing.  I'll leave the wait_event.h issue
to Michael.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Alexander Lakhin
Date:
Subject: Re: optimize file transfer in pg_upgrade
Next
From: Ilia Evdokimov
Date:
Subject: Re: Add estimated hit ratio to Memoize in EXPLAIN to explain cost adjustment