Re: Ordering of header file inclusion

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: vignesh C <vignesh21@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2019-10-19T21:14:19Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Make the order of the header file includes consistent.

  2. Make the order of the header file includes consistent in backend modules.

  3. Make the order of the header file includes consistent in non-backend modules.

  4. Make the order of the header file includes consistent in contrib modules.

Hi,

On 2019-10-19 21:50:03 +0200, Peter Eisentraut wrote:
> diff --git a/contrib/bloom/blcost.c b/contrib/bloom/blcost.c
> index f9fe57f..6224735 100644
> --- a/contrib/bloom/blcost.c
> +++ b/contrib/bloom/blcost.c
> @@ -12,10 +12,10 @@
>   */
>  #include "postgres.h"
> 
> +#include "bloom.h"
>  #include "fmgr.h"
>  #include "utils/selfuncs.h"
> 
> -#include "bloom.h"
> 
>  /*
>   * Estimate cost of bloom index scan.
> 
> This class of change I don't like.
> 
> The existing arrangement keeps "other" header files separate from the
> header file of the module itself.  It seems useful to keep that separate.

If we were to do so, we ought to put bloom.h first and clearly seperated
out, not last, as the former makes the bug of the the header not being
standalone more obvious.

I'm -1 on having a policy of putting the headers separate though, I feel
that's too much work, and there's too many cases where it's not that
clear which header that should be.

Greetings,

Andres Freund