Re: Avoid circular header file dependency
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-04-27T15:46:10Z
Lists: 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
Commits
-
Remove circular #include's between wait_event.h and wait_event_types.h
- b225c5e76ed1 18.0 landed
-
Remove circular #include's between plpython.h and plpy_util.h.
- 2311f193ea7d 18.0 landed