Thread
Commits
-
Remove bogus #include added by d4e71df6d75.
- 828e93a6f2db 16.0 landed
-
seemingly useless #include recently added
Kyotaro Horiguchi <horikyota.ntt@gmail.com> — 2023-04-25T02:57:48Z
Hello. While working on a patch, I noticed that a rcent commit (d4e71df6d75) added an apparently unnecessary inclusion of guc.h in smgr.h. The only change made by the commit to the file is the added #include directive, which doesn't seem to be functioning, and the build actually suceeds without it. Moreover, it brings in some server-related stuff when I incluce smgr.h in storage_xlog.h, causing compilation issues for pg_rewind. Should we remove it? Please find the attached patch. regards. -- Kyotaro Horiguchi NTT Open Source Software Center
-
Re: seemingly useless #include recently added
Tom Lane <tgl@sss.pgh.pa.us> — 2023-04-25T03:12:05Z
Kyotaro Horiguchi <horikyota.ntt@gmail.com> writes: > While working on a patch, I noticed that a rcent commit (d4e71df6d75) > added an apparently unnecessary inclusion of guc.h in smgr.h. Yes, that seems quite awful, and I also wonder why it changed fd.h. Adding #include's to header files is generally not the first choice. regards, tom lane
-
Re: seemingly useless #include recently added
Thomas Munro <thomas.munro@gmail.com> — 2023-04-25T03:41:06Z
On Tue, Apr 25, 2023 at 3:12 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > Kyotaro Horiguchi <horikyota.ntt@gmail.com> writes: > > While working on a patch, I noticed that a rcent commit (d4e71df6d75) > > added an apparently unnecessary inclusion of guc.h in smgr.h. > > Yes, that seems quite awful, and I also wonder why it changed fd.h. > Adding #include's to header files is generally not the first choice. Agreed for smgr.h. Will push when I'm back at a real computer soon, or +1 from me if someone else wants to. It must have been left over from an earlier version that had a different arrangement with multiple GUCs in different places and might have needed GUC-related types to declare the check functions or something like that; sorry. As for fd.h, the reason it now includes <fcntl.h> is that fd.h tests whether O_DIRECT is defined, so in fact that was an omission from 2dbe8905 which moved the #if defined(O_DIRECT) stuff from xlogdefs.h to fd.h but failed to move the #include with it; I will check if something needs to be back-patched there.