Re: Unused header file inclusion

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: vignesh C <vignesh21@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2019-07-31T06:25:37Z
Lists: pgsql-hackers
On Wed, Jul 31, 2019 at 11:31 AM vignesh C <vignesh21@gmail.com> wrote:
>
> On Wed, Jul 31, 2019 at 11:26 AM Michael Paquier <michael@paquier.xyz> wrote:
> >
> > On Wed, Jul 31, 2019 at 11:19:08AM +0530, vignesh C wrote:
> > > I noticed that there are many header files being included which need
> > > not be included.  I have tried this in a few files and found the
> > > compilation and regression to be working.  I have attached the patch
> > > for the files that  I tried.  I tried this in CentOS, I did not find
> > > the header files to be platform specific.
> > > Should we pursue this further and cleanup in all the files?
> >
> > Do you use a particular method here or just manual deduction after
> > looking at each file individually?  If this can be cleaned up a bit, I
> > think that's welcome.  The removal of headers is easily forgotten when
> > moving code from one file to another...
> >
> Thanks Michael.
> I'm writing some perl scripts to identify this.
> The script will scan through all the files, make changes,
> and verify.

If we can come up with some such tool, we might be able to integrate
it with Thomas's patch tester [1] wherein it can apply the patch,
verify if there are unnecessary includes in the patch and report the
same.

[1] - http://commitfest.cputube.org/

-- 
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com



Commits

  1. Add fmgr.h include to selfuncs.h.

  2. Add "headerscheck" script to test header-file compilability under C.

  3. Fix failure-to-compile-standalone in scripts_parallel.h.

  4. Remove fmgr.h includes from headers that don't really need it.

  5. Don't include utils/array.h from acl.h.

  6. Remove redundant prototypes for SQL callable functions.

  7. Remove unnecessary #include <limits.h>

  8. Teach tuplesort.c about "top N" sorting, in which only the first N tuples